Czy czerpiesz radość z szybkiego kodowania i tworzenia struktur oprogramowania do rozwiązywania skomplikowanych wyzwań? Szukamy pilnych inżynierów oprogramowania, którzy będą współpracować przy projektowaniu, budowie i wdrażaniu cuDNN: naszej biblioteki prymitywów dla głębokich sieci neuronowych, zboostowanej przez GPU. Sztucznie inteligentne maszyny, wyposażone w komputery AI, które potrafią uczyć się, rozumować i łączyć z ludźmi, są teraz rzeczywistością, a nie tylko naukową fantastyką. To naprawdę wyjątkowy czas. Era AI nadeszła, a my jesteśmy siłą, która ją napędza. Jeśli ta rola jest zgodna z twoimi umiejętnościami i zainteresowaniami, podziel się, dlaczego uważasz, że byłbyś doskonałym uzupełnieniem naszego zespołu, a my z chęcią opowiemy Ci więcej o naszej pracy!
Co będziesz robić:
- Projektować oprogramowanie komercyjnej jakości, które jest uruchamiane jako część zestawu oprogramowania AI NVIDIA, w tym zoptymalizowane wsparcie dla dużych modeli językowych (LLM).
- Badanie funkcjonowania znaczących obciążeń, ulepszanie naszego obecnego oprogramowania i sugerowanie ulepszeń do przyszłego oprogramowania.
- Współpraca z przecinającymi się zespołami inżynierów oprogramowania do uczenia głębokiego i architektów GPU w celu innowacji w dziedzinach takich jak generatywne AI, samochody autonomiczne, widzenie komputerowe i systemy rekomendacyjne.
- Nadążanie za ciągle zmieniającym się przemysłem AI, pozostając elastycznym i chętnym do wkładu we wszystkie elementy kodu, w tym projekt API, struktury oprogramowania, modelowanie wydajności, testowanie i rozwijanie jądra GPU.
Czego oczekujemy:
- Tytułu licencjata lub wyższego stopnia z informatyki (lub podobnej) lub odpowiedniego doświadczenia
- Solidnych umiejętności programistycznych w C/C++ oraz znajomość Pythona.
- Solidnego zrozumienia algebry liniowej.
- Znajomości najnowszych trendów w uczeniu maszynowym.
- Wybitnych umiejętności rozwiązywania problemów, w tym stosowania algorytmów i struktur danych.
- Doświadczenia w ocenie wydajności, profilowaniu i optymalizacji kodu.
Sposoby na wyróżnienie się z tłumu:
- Wiedza z zakresu programowania GPU i optymalizacji (np. CUDA lub OpenCL).
- Praktyczne doświadczenia z uczeniem maszynowym, szczególnie z uczeniem głębokim.
- Znajomość architektury komputerów i budowy modeli wydajności dla CPU, GPU lub innych akceleratorów.
- Znaczne doświadczenie z nauką o danych, analizą statystyczną i wizualizacją.
- Wcześniejsza praca nad dużymi, złożonymi bazami kodów we współpracy z wieloma programistami, głównie bibliotekami, kompilatorami lub systemowym oprogramowaniem.