NVIDIA
NVIDIA
NVIDIA desarrolla tecnologías de computación acelerada e inteligencia artificial utilizadas en videojuegos, centros de datos, computación en la nube, atención sanitaria, manufactura, automoción y robótica. Su trabajo abarca unidades de procesamiento gráfico, plataformas de IA, simulación y soluciones enfocadas en distintos sectores, como NVIDIA Omniverse para flujos de trabajo colaborativos en 3D, NVIDIA DRIVE para el desarrollo de vehículos autónomos y NVIDIA Clara para aplicaciones sanitarias. La empresa reúne grandes equipos técnicos que trabajan en la infraestructura y el software necesarios para la computación avanzada, la simulación y el análisis basado en inteligencia artificial.

Ingeniero/a sénior de compiladores de aprendizaje profundo – CUDA Tile y LPU

Desarrolla transformaciones de CUDA Tile y pasadas de lowering de MLIR para las plataformas de IA y computación GPU de NVIDIA. Mejora el rendimiento de kernels basados en tiles en arquitecturas de GPU y LPU.

Descripción

  • Da soporte a CUDA Tile, el modelo de programación basado en tiles de NVIDIA, para el desarrollo de LPU
  • Diseña e implementa transformaciones de compilador
  • Crea dialectos de MLIR y pasadas de lowering
  • Mejora el rendimiento de kernels basados en tiles en varias generaciones de arquitecturas GPU y LPU de NVIDIA
  • Define APIs públicas
  • Desarrolla métodos de compilación y optimización
  • Se encarga del ajuste del rendimiento y de otras tareas generales de ingeniería de software
  • Colabora con un equipo experto en proyectos al servicio de la comunidad de aprendizaje profundo

Requisitos

  • Grado universitario, máster o doctorado en informática, ingeniería informática o una disciplina relacionada, o experiencia equivalente
  • Al menos tres años de experiencia o investigación relevante en optimización de compiladores, análisis del rendimiento y diseño de representaciones intermedias
  • Capacidad para trabajar de forma autónoma, establecer los objetivos y el alcance de los proyectos y liderar iniciativas individuales de desarrollo
  • Conocimientos avanzados de programación y diseño de software en C y C++, incluidos la depuración, el análisis del rendimiento y la planificación de pruebas
  • Sólidas habilidades de comunicación y capacidad para contribuir eficazmente en un equipo dinámico y orientado al producto
  • Se valoran conocimientos de arquitectura de CPU o GPU
  • Se valora la experiencia de programación con CUDA u OpenCL
  • Se valora la experiencia con MLIR, LLVM, XLA, TVM, modelos de aprendizaje profundo y algoritmos de aprendizaje profundo

Beneficios

  • Compensación en acciones
  • Paquete integral de beneficios