W skrócie
- Zadania: Poprawiaj wydajność aplikacji na procesorach AMD, analizując kod maszynowy i optymalizując kompilatory.
- Firma: AMD - innowacyjna firma technologiczna z kulturą współpracy.
- Benefity: Konkurencyjne wynagrodzenie, benefity zdrowotne, praca zdalna i rozwój zawodowy.
- Pozostałe informacje: Dynamiczne środowisko z doskonałymi możliwościami rozwoju kariery.
- Dlaczego ta praca: Pracuj nad nowoczesnymi technologiami i wpływaj na przyszłość AI.
- Kwalifikacje: Doświadczenie w analizie wydajności kompilatorów oraz umiejętności programowania w C/C++.
Przewidywane wynagrodzenie mieści się w przedziale 135000 - 165000 zł za rok.
W AMD naszym celem jest budowanie wspaniałych produktów, które przyspieszają doświadczenia związane z obliczeniami nowej generacji - od AI i centrów danych, po komputery PC, gry i systemy wbudowane. Opierając się na kulturze innowacji i współpracy, wierzymy, że prawdziwy postęp pochodzi z odważnych pomysłów, ludzkiej pomysłowości i wspólnej pasji do tworzenia czegoś niezwykłego. Kiedy dołączysz do AMD, odkryjesz, że prawdziwym wyróżnikiem jest nasza kultura. Przekraczamy granice innowacji, aby rozwiązywać najważniejsze wyzwania świata - dążąc do doskonałości w wykonaniu, będąc bezpośrednimi, pokornymi, współpracującymi i otwartymi na różnorodne perspektywy. Dołącz do nas, gdy kształtujemy przyszłość AI i nie tylko. Razem rozwijamy Twoją karierę.
Rola: Ta rola koncentruje się na poprawie wydajności aplikacji na procesorach AMD poprzez analizę wyników kompilatora, zachowania po linkowaniu i cech kodu maszynowego w rzeczywistych aplikacjach. Będziesz współpracować z zespołami kompilatorów i wydajności AMD, aby zidentyfikować nieefektywności w generowanym kodzie, udoskonalić potoki optymalizacji (w tym transformacje oparte na MLIR/LLVM) oraz wnosić ukierunkowane ulepszenia, które zwiększają wydajność na architekturach AMD. Stanowisko to wiąże się z głęboką analizą techniczną zastrzeżonych obciążeń, współpracą z wewnętrznymi specjalistami oraz dostarczaniem praktycznych wskazówek, które wzmacniają pozycję wydajności AMD wśród kluczowych partnerów oprogramowania.
Kluczowe obowiązki:
- Analiza kodu maszynowego x86 64 generowanego przez kompilator w celu zidentyfikowania nieefektywności i pominiętych optymalizacji.
- Praca z MLIR i LLVM IR w celu inspekcji transformacji, diagnozowania problemów i poprawy zachowania obniżania.
- Opracowywanie lub udoskonalanie przejść optymalizacyjnych MLIR/LLVM, które zwiększają wydajność na architekturach AMD.
- Refaktoryzacja kodu C/C++ w celu poprawy automatycznej wektoryzacji, transformacji pętli i wzorców dostępu do pamięci.
- Używanie narzędzi profilujących do identyfikacji wąskich gardeł wydajności na poziomie IR, kompilatora lub binariów.
- Współpraca ze specjalistami kompilatorów AMD w zakresie wyboru instrukcji, alokacji rejestrów oraz heurystyk optymalizacji i optymalizacji po linkowaniu.
Preferowane doświadczenie:
- Doświadczenie w analizie problemów wydajnościowych w potokach kompilatorów lub generowanych binariach.
- Silna znajomość LLVM, MLIR i nowoczesnych technik optymalizacji kompilatorów.
- Solidne umiejętności programowania w C/C++ z naciskiem na kod przyjazny dla kompilatora.
- Umiejętność czytania i rozumienia asemblera x86 64, w tym instrukcji SIMD.
- Znajomość narzędzi profilujących (perf, VTune, profiler MSVC).
- Zrozumienie podstaw architektury CPU (potoki, pamięci podręczne, przewidywanie gałęzi).
- Doświadczenie z systemami kontroli wersji, takimi jak Git.
Dodatkowe doświadczenie:
- Praktyczne doświadczenie z intrinsics SIMD (SSE, AVX, AVX2, AVX 512).
- Znajomość API współbieżności i wątków.
- Doświadczenie z narzędziami na poziomie binarnym (objdump, perf annotate, LLVM MCA).
- Znajomość Pythona lub JavaScriptu do narzędzi.
- Komfort pracy w środowiskach Linux i Windows.
Wykształcenie: Co najmniej BS/MS w dziedzinie informatyki, inżynierii komputerowej lub pokrewnej.
Compiler Performance Engineer in Katowice – pracodawca: AMD
AMD to doskonały pracodawca, który oferuje wyjątkowe możliwości rozwoju zawodowego w dynamicznym środowisku pracy. Nasza kultura opiera się na innowacyjności i współpracy, co pozwala pracownikom na realizację ambitnych projektów w dziedzinie architektury GPU i technik renderowania. Pracując z nami, będziesz miał szansę na publikacje w czołowych czasopismach oraz wpływ na kierunki rozwoju produktów, a także na budowanie zespołu o wysokiej wydajności i różnorodności.