Summary
NVIDIA is a technology company focused on computer graphics, gaming, accelerated computing, and artificial intelligence. The Deep Learning Compiler Engineer will work on the CUDA Tile team to design compiler transformations, develop MLIR-based dialects and lowering passes, and optimize tile-based kernels across NVIDIA GPU architectures.
Responsibilities
- In this role, you will be working on CUDA Tile, a new tile-based programming model for our GPUs. CUDA Tile shipped with CUDA 13.1 and is a major addition to CUDA (https://developer.nvidia.com/cuda/tile). You will design and implement compiler transformations, develop MLIR-based dialects and lowering passes, and optimize the performance of tile-based kernels to ensure they execute efficiently across multiple generations of NVIDIA GPU architectures. The scope of these efforts includes defining public APIs, crafting and implementing compiler and optimization techniques, performance optimization, and other general software engineering work
Skills
- Bachelors, Masters or Ph.D. in Computer Science, Computer Engineering or a related field (or equivalent experience)
- 3+ years of relevant work or research experience in compiler optimization, performance analysis and IR design
- Ability to work independently, define project goals and scope, and lead your own development effort
- Excellent C/C++ programming and software design skills, including debugging, performance analysis, and test design
- Strong interpersonal skills are required along with the ability to work in a dynamic product-oriented team
- Knowledge of CPU and/or GPU architecture. CUDA or OpenCL programming experience
- Experience with the following technologies: MLIR, LLVM, XLA, TVM and deep learning models and algorithms
Qualifications
Must Haves
- Bachelors, Masters or Ph.D. in Computer Science, Computer Engineering or a related field (or equivalent experience)
- 3+ years of relevant work or research experience in compiler optimization, performance analysis and IR design
- Ability to work independently, define project goals and scope, and lead your own development effort
- Excellent C/C++ programming and software design skills, including debugging, performance analysis, and test design
- Strong interpersonal skills are required along with the ability to work in a dynamic product-oriented team
Nice to Haves
- Knowledge of CPU and/or GPU architecture. CUDA or OpenCL programming experience
- Experience with the following technologies: MLIR, LLVM, XLA, TVM and deep learning models and algorithms
Benefits
- Equity
- Comprehensive benefits package