Czy jesteś zmotywowanym specjalistą w dziedzinie inżynierii oprogramowania, pasjonującym się projektowaniem i rozwojem interfejsów API w Pythonie dla bibliotek matematycznych? NVIDIA poszukuje utalentowanych jednostek, takich jak Ty, aby dołączyć do naszego dynamicznego zespołu, pomagając w rozwoju możliwości naszych wysoce wydajnych, przyspieszanych przez GPU bibliotek numerycznych dla frameworków opartych na Pythonie.
W ostatniej dekadzie Python wyłonił się jako wiodący język programowania dla profesjonalistów w dziedzinie AI, nauki o danych i obliczeń wysokowydajnych (HPC), dzięki potężnym frameworkom takim jak TensorFlow i PyTorch. NVIDIA odegrała kluczową rolę w tej transformacji, dostarczając przyspieszane przez GPU frameworki do głębokiego uczenia, które oferują wydajne, wysokopoziomowe interfejsy programistyczne. Nasze zoptymalizowane implementacje pozwalają deweloperom skupić się na aplikacjach przy jednoczesnym wykorzystaniu najnowocześniejszego przyspieszenia GPU.
W miarę jak nasze biblioteki matematyczne rosną i rozszerzają się na nowe dziedziny, dążymy do udostępnienia tych osiągnięć wszystkim deweloperom w ekosystemie Pythona.
- Tworzenie i rozwój interfejsów API w Pythonie dla bibliotek matematycznych (np. algebra liniowa)
- Prototypowanie integracji opracowanych interfejsów API z docelowymi frameworkami
- Optymalizacja wydajności, tuning i benchmarking oprogramowania numerycznego na różnych architekturach CPU i GPU
- Dostarczanie technicznego przywództwa i mentoringu inżynierom bibliotek
- Ścisła współpraca z zarządzaniem produktem i innymi wewnętrznymi i zewnętrznymi partnerami w celu zrozumienia wymagań dotyczących funkcji i wydajności
- Identyfikowanie możliwości poprawy wydajności oprogramowania i doświadczenia użytkowników
- Stopień naukowy PhD lub MSc w dziedzinie informatyki, matematyki stosowanej lub pokrewnej dziedzinie nauki czy inżynierii (lub ekwiwalentne doświadczenie)
- Doskonałe umiejętności programowania w Pythonie i C++ oraz projektowania oprogramowania, w tym projektowanie testów funkcjonalnych i wydajnościowych
- Doświadczenie w tworzeniu interfejsów API w Pythonie i pisaniu kodu zgodnego z duchem Pythona
- Znajomość jednego lub więcej z: Numpy, CuPy, SciPy, JAX, PyTorch, TensorFlow
- 6+ lat doświadczenia w tworzeniu, debugowaniu i optymalizacji aplikacji o wysokiej wydajności na platformach obliczeń równoległych
- Silne zrozumienie podstawowych metod numerycznych i obliczeń w nauce, inżynierii lub głębokim uczeniu się
- Udokumentowane doświadczenie w prowadzeniu i realizacji projektów rozwoju oprogramowania w środowisku zwinnym
- Silne umiejętności współpracy, komunikacji i dokumentacji
- Doświadczenie w programowaniu równoległym z użyciem GPU (CUDA lub OpenCL), wielowątkowości lub MPI
- Dobra znajomość architektury sprzętowej CPU i/lub GPU
Uważana za jednego z najbardziej pożądanych pracodawców w branży technologicznej, NVIDIA zatrudnia jedne z najbardziej innowacyjnych i pracowitych talentów na świecie. Jeśli jesteś kreatywny i wykazujesz inicjatywę, chcemy Cię usłyszeć!
Podstawowy przedział wynagrodzenia dla tej roli wynosi od