We are looking for an experienced Senior Compiler Optimization Engineer for an exciting role in our Compute Compiler Team. We deliver features and improvements to CUDA and other compute compilers to better realize the potential of NVIDIA GPUs for a growing range of computational workloads, ranging from deep learning, scientific computation, and self-driving cars. Our compiler organization makes its mark on every GPU NVIDIA produces.
We need you as a key member of a small team that is working on a core compiler component for accelerating general purpose computation on the GPU. You will be solving critical problems working alongside some of the top valued diverse minds in GPU computing and systems software, doing what you enjoy. See your efforts in action as HPC and DL developers use features and optimizations to achieve the best performance of their applications. If this sounds like a fun challenge, we want to hear from you!
What you will be doing:
- Analyze the performance of application code running on NVIDIA GPUs with the aid of profiling tools.
- Identify opportunities for performance improvements in the MLIR/LLVM based compiler middle end optimizer.
- Design and develop new compiler passes and optimizations to produce best-in-class, robust, supportable compiler and tools.
- Interact with Open-source LLVM community to ensure tighter integration.
- Work with geographically distributed compiler, hardware and application teams to oversee improvements and problem resolutions.
- Be part of a team that is at the center of deep-learning compiler technology spanning architecture design and support through higher level languages.
What we need to see:
- B.S, M.S or Ph.D. in Computer Science, Computer Engineering, or related fields (or equivalent experience).
- 6+ years experience in Compiler Optimizations such as Loop Optimizations, Inter-procedural optimizations and Global optimizations.
- Excellent hands-on C++ programming skills.
- Understanding of any Processor ISA (GPU ISA would be a plus).
- Strong background in software engineering principles with a focus on crafting robust and maintainable solutions to challenging problems.
- Good communication and documentation skills and self-motivated.
Ways for you to stand out from the crowd:
- Experience in developing applications in CUDA or other parallel programming language.
- Deep understanding of parallel programming concepts.
- Experience working on compile-time improvements in JIT compilation contexts.
- MLIR, LLVM and/or Clang compiler development experience.
- Familiarity with deep learning frameworks and NVIDIA GPUs.
NVIDIA is leading the way in groundbreaking developments in Artificial Intelligence, High-Performance Computing and Visualization. The GPU, our invention, serves as the visual cortex of modern computers and is at the heart of our products and services. Our work opens up new universes to explore, enables amazing creativity and discovery, and powers what were once science fiction inventions from artificial intelligence to autonomous cars. We are looking for great people like you to help us accelerate the next wave of artificial intelligence.
The base salary range is 180,000 USD - 339,250 USD. Your base salary will be determined based on your location, experience, and the pay of employees in similar positions.
You will also be eligible for equity and benefits. NVIDIA accepts applications on an ongoing basis.
NVIDIA is committed to fostering a diverse work environment and proud to be an equal opportunity employer. As we highly value diversity in our current and future employees, we do not discriminate (including in our hiring and promotion practices) on the basis of race, religion, color, national origin, gender, gender expression, sexual orientation, age, marital status, veteran status, disability status or any other characteristic protected by law.