À propos du poste
Évaluez la qualité, la justesse et l'exhaustivité de tâches de développement de kernels GPU/accélérateurs utilisées pour entraîner et évaluer les modèles d'un laboratoire d'IA de pointe. Vous évaluerez la justesse numérique, l'équité du benchmarking de performances, le cadrage des tâches et la validité de la compilation/de l'exécution sur divers types de tâches de kernels — et fournirez des retours écrits clairs, fondés sur une grille d'évaluation.
Qualifications de base
- Au moins 3 ans d'expérience pratique du développement, de l'optimisation ou de la vérification de kernels GPU/accélérateurs dans au moins deux des technologies suivantes : CUDA, Triton, NKI ou Pallas (JAX)
- Solide compréhension des critères de justesse numérique pour les kernels (tolérances absolues/relatives/ULP, choix de l'implémentation de référence)
- Expérience avérée du profilage et du benchmarking de performances (nsight, ncu, analyse roofline ou profileurs natifs des frameworks)
- Connaissance des modes de défaillance courants de compilation et d'exécution (incompatibilités de pilotes, OOM, erreurs de configuration de lancement, incohérences de forme/de pas, échecs d'autotuning)
- Expérience d'au moins trois types de tâches de kernels : génération à partir d'une spécification, traduction/abaissement entre frameworks, migration entre cibles matérielles, débogage, optimisation des performances ou fusion d'opérateurs
Qualifications souhaitées
- Expérience des écosystèmes de GPU NVIDIA (CUDA/Triton) comme des accélérateurs personnalisés (NKI/Pallas/TPU)
- Expérience en ingénierie de compilateurs, en MLIR ou en abaissement de représentations intermédiaires
- Compréhension de l'optimisation de la hiérarchie mémoire (tuilage en mémoire partagée, pression sur les registres, conflits de banques, schémas de coalescence)
- Contributions à des bibliothèques de kernels (cuBLAS, cuDNN, kernels de la communauté Triton, appels personnalisés JAX/XLA)