Emploi
De la source partenaire
Ingénieur performances du compilateur
Prix sur demande
Détails
- Type de contrat
- Temps plein
- À distance
- Oui
- Entreprise
- Azul
Description
Traduit automatiquement depuis English. Le texte original fait foi. Traduction automatique — une traduction plus précise est en préparation.
Falcon est le compilateur d'optimisation juste à temps (JIT) d'Azul Platform Prime. Il compile le bytecode Java chaud en code machine hautement optimisé et offre des performances Java que les JVM standard n'atteignent pas. Falcon est construit sur LLVM.
Nous recherchons un ingénieur en performances des compilateurs pour permettre à Falcon de générer du code encore plus rapidement. Il ne s'agit pas d'un rôle frontal de compilateur ni d'un compilateur construit à partir de zéro : le compilateur existe, fonctionne en production dans les grandes entreprises, et votre travail consiste à trouver où le code généré est plus lent qu'il ne devrait l'être et à le corriger dans l'optimiseur et le générateur de code.
Vous rejoindrez une équipe distribuée d'experts en compilateur et travaillerez sur des charges de travail réelles avec un impact direct et mesurable sur les performances des clients.
Ce que vous ferez (alias responsabilités)
• Analyser les performances des benchmarks Java et des charges de travail des clients, trouver les lacunes dans le code généré et les retracer jusqu'à leur cause première dans le compilateur.
• Implémenter et améliorer les optimisations dans le middle-end et le back-end de Falcon : inlining, optimisations de boucles, vectorisation, élimination des redondances, optimisations spéculatives et leur interaction avec le runtime.
• Améliorer la génération de code pour x86_64 et AArch64
• Rédiger des tests et des benchmarks qui prouvent l'amélioration et la protègent des régressions
• Contribuer aux changements en amont de LLVM là où cela a du sens
Ce que vous apporterez (expérience, compétences)
• 2+ ans d'expérience professionnelle dans les compilateurs, les compilateurs JIT ou l'ingénierie de performances de bas niveau
• Solides compétences en conception et en codage C++
• Solide compréhension de la théorie de l'optimisation du compilateur : SSA, analyse des flux de données, transformations de boucles
• Capacité à lire l'assembly et à expliquer pourquoi une séquence d'instructions est plus rapide qu'une autre.
Très agréable à avoir
• Expérience avec les passes d'optimisation LLVM IR et LLVM, ou avec un autre compilateur d'optimisation tel que HotSpot C2, Graal, GCC ou V8
• Expérience avec des profileurs tels que perf, VTune ou async profileur
• Connaissance de la microarchitecture x86_64 et/ou AArch64
• Expérience avec Java, Scala ou Kotlin, ou avec les composants internes de JVM
• MSc ou PhD en informatique avec une spécialisation en compilateur ou en performance
Publié initialement sur Himalaya
Source : Himalaya (https://himalayas.app/companies/azul/jobs/compiler-performance-engineer)
Nous recherchons un ingénieur en performances des compilateurs pour permettre à Falcon de générer du code encore plus rapidement. Il ne s'agit pas d'un rôle frontal de compilateur ni d'un compilateur construit à partir de zéro : le compilateur existe, fonctionne en production dans les grandes entreprises, et votre travail consiste à trouver où le code généré est plus lent qu'il ne devrait l'être et à le corriger dans l'optimiseur et le générateur de code.
Vous rejoindrez une équipe distribuée d'experts en compilateur et travaillerez sur des charges de travail réelles avec un impact direct et mesurable sur les performances des clients.
Ce que vous ferez (alias responsabilités)
• Analyser les performances des benchmarks Java et des charges de travail des clients, trouver les lacunes dans le code généré et les retracer jusqu'à leur cause première dans le compilateur.
• Implémenter et améliorer les optimisations dans le middle-end et le back-end de Falcon : inlining, optimisations de boucles, vectorisation, élimination des redondances, optimisations spéculatives et leur interaction avec le runtime.
• Améliorer la génération de code pour x86_64 et AArch64
• Rédiger des tests et des benchmarks qui prouvent l'amélioration et la protègent des régressions
• Contribuer aux changements en amont de LLVM là où cela a du sens
Ce que vous apporterez (expérience, compétences)
• 2+ ans d'expérience professionnelle dans les compilateurs, les compilateurs JIT ou l'ingénierie de performances de bas niveau
• Solides compétences en conception et en codage C++
• Solide compréhension de la théorie de l'optimisation du compilateur : SSA, analyse des flux de données, transformations de boucles
• Capacité à lire l'assembly et à expliquer pourquoi une séquence d'instructions est plus rapide qu'une autre.
Très agréable à avoir
• Expérience avec les passes d'optimisation LLVM IR et LLVM, ou avec un autre compilateur d'optimisation tel que HotSpot C2, Graal, GCC ou V8
• Expérience avec des profileurs tels que perf, VTune ou async profileur
• Connaissance de la microarchitecture x86_64 et/ou AArch64
• Expérience avec Java, Scala ou Kotlin, ou avec les composants internes de JVM
• MSc ou PhD en informatique avec une spécialisation en compilateur ou en performance
Publié initialement sur Himalaya
Source : Himalaya (https://himalayas.app/companies/azul/jobs/compiler-performance-engineer)
Cette annonce provient d'un flux partenaire. Postulez sur le site source.
Source: Azul
Annonce fournie par Azul.