Informazioni sul ruolo
Valuterà la qualità, la correttezza e la completezza dei task di sviluppo di kernel per GPU/acceleratori utilizzati per addestrare e valutare i modelli di un laboratorio di IA di frontiera. Esaminerà la correttezza numerica, l'equità del benchmarking delle prestazioni, la delimitazione dell'ambito dei task e la validità di compilazione/runtime su diversi tipi di task di kernel — e fornirà un riscontro scritto chiaro, basato su rubriche.
Qualifiche di base
- Almeno 3 anni di esperienza pratica nello sviluppo, nell'ottimizzazione o nella verifica di kernel per GPU/acceleratori in almeno due tra: CUDA, Triton, NKI o Pallas (JAX)
- Solida comprensione dei criteri di correttezza numerica per i kernel (tolleranze assolute/relative/ULP, selezione dell'implementazione di riferimento)
- Esperienza comprovata di profiling e benchmarking delle prestazioni (nsight, ncu, analisi roofline o profiler nativi del framework)
- Familiarità con le più comuni modalità di errore di compilazione e runtime (incompatibilità dei driver, OOM, errori di configurazione di lancio, incongruenze di shape/stride, errori di autotuning)
- Esperienza con almeno tre tipi di task sui kernel: generazione da specifica, traduzione/lowering tra framework, migrazione tra target hardware, debugging, ottimizzazione delle prestazioni o fusione di operatori
Qualifiche preferenziali
- Esperienza in entrambi gli ecosistemi: GPU NVIDIA (CUDA/Triton) e acceleratori custom (NKI/Pallas/TPU)
- Esperienza in ingegneria dei compilatori, MLIR o lowering di rappresentazioni intermedie
- Comprensione dell'ottimizzazione della gerarchia di memoria (tiling della shared memory, pressione sui registri, bank conflict, pattern di coalescing)
- Contributi a librerie di kernel (cuBLAS, cuDNN, kernel della community Triton, custom call JAX/XLA)