Acerca del puesto
Anyone AI está reclutando Ingenieros de Kernels de GPU con experiencia para un proyecto especializado centrado en la revisión, depuración y evaluación de kernels de cómputo de alto rendimiento utilizados en cargas de trabajo de IA.
Buscamos ingenieros con experiencia práctica escribiendo y optimizando kernels en frameworks como CUDA, Triton, NKI o Pallas, con un sólido entendimiento de corrección numérica, rendimiento de GPU, optimización de memoria y benchmarking.
En Qué Trabajarás
Trabajarás con tareas de kernels de GPU y aceleradores que incluyen:
- Implementación y depuración de kernels
- Optimización de CUDA y Triton
- Traducción entre frameworks de kernels
- Migración de hardware
- Fusión de operadores
- Perfilado de rendimiento y benchmarking
- Verificación de corrección numérica
- Depuración de compilación y de tiempo de ejecución
- Optimización de la jerarquía de memoria
- Rendimiento de cargas de trabajo de IA a nivel de kernel
Evaluarás si las implementaciones son técnicamente correctas, están diseñadas de manera eficiente, son reproducibles y están optimizadas adecuadamente para el hardware objetivo.
Lo Que Buscamos
- 3+ años de experiencia práctica desarrollando, optimizando o depurando kernels de GPU o aceleradores
- Sólida experiencia con al menos dos de los siguientes:
- CUDA
- Triton
- NKI / AWS Neuron
- Pallas / JAX
- Sólido entendimiento de la optimización de rendimiento de GPU
- Experiencia con herramientas de perfilado de kernels como Nsight, NCU, análisis roofline o perfiladores nativos del framework
- Entendimiento de:
- Ancho de banda de memoria
- Throughput de cómputo
- Ocupación de GPU
- Memoria compartida
- Presión de registros
- Coalescencia de memoria
- Conflictos de banco
- Sólido entendimiento de la corrección numérica de punto flotante y los umbrales de tolerancia
- Experiencia depurando problemas de compilación y de tiempo de ejecución de kernels
- Capacidad para distinguir defectos de software, problemas del entorno y desafíos genuinos de optimización
Experiencia Relevante
Los candidatos deben tener experiencia con varios de los siguientes tipos de trabajo:
- Escribir kernels a partir de especificaciones técnicas
- Traducir kernels entre CUDA, Triton u otros frameworks
- Migrar kernels entre plataformas de hardware
- Depurar implementaciones de kernels incorrectas
- Optimizar el rendimiento de kernels
- Fusionar múltiples operaciones en kernels optimizados
Deseable
- Experiencia tanto en ecosistemas de GPU NVIDIA como de aceleradores personalizados
- Experiencia con AWS Trainium, TPU, JAX u otros aceleradores
- Experiencia en ingeniería de compiladores
- Familiaridad con MLIR, XLA o lowering de representaciones intermedias
- Contribuciones a bibliotecas de kernels de GPU o ML
- Experiencia con cuBLAS, cuDNN, kernels de la comunidad de Triton o llamadas personalizadas de JAX/XLA
- Experiencia con evaluación de modelos de IA, RLHF o desarrollo de benchmarks técnicos
Tus Responsabilidades
- Revisar implementaciones de kernels de GPU y aceleradores para verificar su corrección
- Comparar salidas con implementaciones de referencia
- Evaluar umbrales de tolerancia numérica
- Revisar benchmarks de kernels y determinar si las comparaciones son justas
- Identificar cuellos de botella de rendimiento y oportunidades de optimización
- Evaluar si los objetivos de rendimiento son realistas dados los límites del hardware
- Revisar traducciones de kernels y migraciones de hardware
- Identificar problemas de compilación, controladores, memoria, formas y tiempo de ejecución
- Determinar si las tareas técnicas son genuinamente difíciles o están configuradas incorrectamente
- Proporcionar retroalimentación técnica clara y accionable
Modalidad
Tipo de trabajo: Remoto Modalidad: Consultoría a tiempo parcial, basada en proyectos Enfoque: Kernels de GPU, ingeniería de rendimiento, depuración y evaluación técnica
Este rol es ideal para ingenieros que disfrutan trabajar cerca del hardware, optimizar cargas de trabajo de GPU, depurar problemas de rendimiento de bajo nivel y llevar los sistemas de cómputo de IA hacia sus límites de rendimiento.