Текст заказа
Lokalizacja biura: Gdańsk
Forma zatrudnienia: Umowa o pracę / jesteśmy otwarci na propozycje kandydatów, budżet jest otwarty / długoterminowa umowa, podpisywana bezpośrednio z klientem, bez pośredników
Obszar: Półprzewodniki / Zaawansowane systemy AI
Prosimy o CV w j. angielskim
Opis stanowiska:
Poszukujemy doświadczonego inżyniera, który chce pracować przy niskopoziomowym oprogramowaniu dla ultra niskolatencyjnych procesorów GPU i akceleratorów AI.
Będziesz współpracować bezpośrednio z zespołami sprzętowymi, architektami systemów oraz programistami kompilatorów, wpływając na wydajność i zachowanie przyszłych platform obliczeniowych.
Zakres obowiązków
Projektowanie, implementowanie i optymalizowanie niskopoziomowego oprogramowania realizującego algorytmy głębokiego uczenia (AI) dla najnowocześniejszych procesorów o ekstremalnie niskich opóźnieniach.
Ścisła współpraca z inżynierami sprzętu, architektami oraz zespołami odpowiedzialnymi za kompilatory w celu integracji oprogramowania z nowymi funkcjami sprzętowymi.
Profilowanie, przeprowadzanie benchmarków oraz optymalizacja i dostrajanie kerneli w celu osiągnięcia optymalnego wykorzystania zasobów i minimalnych opóźnień.
Pisanie przejrzystego i łatwego w utrzymaniu kodu w C/C++ oraz Pythonie, a także rozwijanie wewnętrznych bibliotek i infrastruktury.
Wymagania
Bardzo dobra znajomość programowania w C/C++ w kontekście systemów, w których kluczowe znaczenie ma wydajność.
Udokumentowane doświadczenie w tworzeniu wysokowydajnych kerneli dla GPU lub dedykowanych akceleratorów.
Znajomość zaawansowanych technik optymalizacji kodu, takich jak wektoryzacja, zarządzanie hierarchią pamięci, przetwarzanie równoległe oraz efektywne wykorzystanie pamięci podręcznych (cache).
Umiejętność czytania i rozumienia złożonych baz kodu oraz algorytmów.
Bardzo dobre umiejętności rozwiązywania problemów i debugowania.
Umiejętność skutecznej komunikacji i pracy zespołowej.
Wykształcenie wyższe techniczne
Angielski na poziomie min. B2+ -> międzynarodowa współpraca
Dodatkowym atutem będzie
Znajomość architektur zestawów instrukcji (ISA) mikroprocesorów.
Doświadczenie w tworzeniu kerneli w Pythonie z wykorzystaniem frameworków takich jak Triton lub podobnych.
Doświadczenie w systemach rozproszonych, połączeniach międzysystemowych (interconnects) lub protokołach komunikacyjnych będzie dużym atutem, szczególnie w zakresie technologii takich jak NCCL, MPI czy libfabric.
Znajomość architektur sieci neuronowych, kwantyzacji oraz optymalizacji precyzji obliczeń.