Praca
Z kanału partnera
Inżynier wydajności kompilatorów
Cena na życzenie
Szczegóły
- Typ zatrudnienia
- Pełny etat
- Zdalnie
- Tak
- Firma
- Azul
Opis
Automatyczne tłumaczenie z języka English. Oryginał jest wiążący. Tłumaczenie maszynowe — trwają prace nad dokładniejszą wersją.
Falcon to optymalizujący kompilator just in time (JIT) w Azul Platform Prime. Kompiluje gorący kod bajtowy Java w wysoce zoptymalizowany kod maszynowy i zapewnia wydajność Java, której nie osiągają standardowe maszyny JVM. Falcon jest zbudowany na LLVM.
Poszukujemy Inżyniera Wydajności Kompilatorów, aby Falcon generował jeszcze szybszy kod. To nie jest rola frontonu kompilatora ani kompilator zbudowany od podstaw: kompilator istnieje, działa w środowisku produkcyjnym w dużych przedsiębiorstwach, a Twoim zadaniem jest znaleźć miejsce, w którym wygenerowany kod jest wolniejszy niż powinien, i naprawić to w optymalizatorze i generatorze kodu.
Dołączysz do rozproszonego zespołu ekspertów zajmujących się kompilatorami i będziesz pracować nad rzeczywistymi obciążeniami mającymi bezpośredni, mierzalny wpływ na wydajność klienta.
Co będziesz robić (inaczej obowiązki)
• Analizuj wydajność testów porównawczych Java i obciążenia klientów, znajduj luki w wygenerowanym kodzie i śledź je do pierwotnej przyczyny w kompilatorze
• Wdrażaj i ulepszaj optymalizacje na środkowym i tylnym końcu Falcona: inline, optymalizacje pętli, wektoryzacja, eliminacja redundancji, optymalizacje spekulacyjne i ich interakcja ze środowiskiem wykonawczym
• Ulepszono generowanie kodu dla x86_64 i AArch64
• Napisz testy i benchmarki, które wykażą poprawę i uchronią ją przed regresją
• Wprowadź zmiany w LLVM tam, gdzie ma to sens
Co przyniesiesz (doświadczenie, umiejętności)
• Ponad 2 lata doświadczenia zawodowego w kompilatorach, kompilatorach JIT lub inżynierii wydajności niskiego poziomu
• Silne umiejętności projektowania i kodowania w języku C++
• Solidne zrozumienie teorii optymalizacji kompilatora: SSA, analiza przepływu danych, transformacje pętli
• Umiejętność czytania asemblera i wyjaśniania, dlaczego jedna sekwencja instrukcji jest szybsza od drugiej
Bardzo miło mieć
• Doświadczenie z przebiegami optymalizacyjnymi LLVM IR i LLVM lub innym kompilatorem optymalizującym, takim jak HotSpot C2, Graal, GCC lub V8
• Doświadczenie z profilerami, takimi jak perf, VTune lub profiler asynchroniczny
• Znajomość mikroarchitektury x86_64 i/lub AArch64
• Doświadczenie z Javą, Scalą lub Kotlinem lub wewnętrznymi elementami JVM
• Magister lub doktor informatyki ze specjalnością kompilator lub wydajność
Pierwotnie opublikowany w Himalajach
Źródło: Himalaje (https://himalayas.app/companies/azul/jobs/compiler- Performance-engineer)
Poszukujemy Inżyniera Wydajności Kompilatorów, aby Falcon generował jeszcze szybszy kod. To nie jest rola frontonu kompilatora ani kompilator zbudowany od podstaw: kompilator istnieje, działa w środowisku produkcyjnym w dużych przedsiębiorstwach, a Twoim zadaniem jest znaleźć miejsce, w którym wygenerowany kod jest wolniejszy niż powinien, i naprawić to w optymalizatorze i generatorze kodu.
Dołączysz do rozproszonego zespołu ekspertów zajmujących się kompilatorami i będziesz pracować nad rzeczywistymi obciążeniami mającymi bezpośredni, mierzalny wpływ na wydajność klienta.
Co będziesz robić (inaczej obowiązki)
• Analizuj wydajność testów porównawczych Java i obciążenia klientów, znajduj luki w wygenerowanym kodzie i śledź je do pierwotnej przyczyny w kompilatorze
• Wdrażaj i ulepszaj optymalizacje na środkowym i tylnym końcu Falcona: inline, optymalizacje pętli, wektoryzacja, eliminacja redundancji, optymalizacje spekulacyjne i ich interakcja ze środowiskiem wykonawczym
• Ulepszono generowanie kodu dla x86_64 i AArch64
• Napisz testy i benchmarki, które wykażą poprawę i uchronią ją przed regresją
• Wprowadź zmiany w LLVM tam, gdzie ma to sens
Co przyniesiesz (doświadczenie, umiejętności)
• Ponad 2 lata doświadczenia zawodowego w kompilatorach, kompilatorach JIT lub inżynierii wydajności niskiego poziomu
• Silne umiejętności projektowania i kodowania w języku C++
• Solidne zrozumienie teorii optymalizacji kompilatora: SSA, analiza przepływu danych, transformacje pętli
• Umiejętność czytania asemblera i wyjaśniania, dlaczego jedna sekwencja instrukcji jest szybsza od drugiej
Bardzo miło mieć
• Doświadczenie z przebiegami optymalizacyjnymi LLVM IR i LLVM lub innym kompilatorem optymalizującym, takim jak HotSpot C2, Graal, GCC lub V8
• Doświadczenie z profilerami, takimi jak perf, VTune lub profiler asynchroniczny
• Znajomość mikroarchitektury x86_64 i/lub AArch64
• Doświadczenie z Javą, Scalą lub Kotlinem lub wewnętrznymi elementami JVM
• Magister lub doktor informatyki ze specjalnością kompilator lub wydajność
Pierwotnie opublikowany w Himalajach
Źródło: Himalaje (https://himalayas.app/companies/azul/jobs/compiler- Performance-engineer)
To ogłoszenie pochodzi z feedu partnera. Aplikuj na stronie źródłowej.
Źródło: Azul
Ogłoszenie pochodzi od Azul.