Senior Backend Compiler Engineer



Software Engineering
Multiple locations
Posted on Friday, February 9, 2024

We are searching for a Senior Backend Compiler Engineer with experience in LLVM code generation for an exciting and fun role in our GPU Software organization. Our Compiler team is responsible for constructing and emitting the highest performance GPU machine instructions for Graphics (OpenGL, Vulkan, DX) and Compute (CUDA, PTX, OpenCL, Fortran, C++). This team is comprised of worldwide leading compiler engineering experts who provide leading edge performance and capabilities for NVIDIA's current and future complex parallel SIMT architectures.

NVIDIA's invention of the GPU 1999 sparked the growth of the PC gaming market, redefined modern computer graphics, and revolutionized parallel computing. More recently, GPU deep learning ignited modern AI — the next era of computing — with the GPU acting as the brain of computers, robots, and self-driving cars that can perceive and understand the world. Today, we are increasingly known as “the AI computing company”.

What you will be doing:

  • Guide the design and implementation of a new LLVM based backend JIT compiler targeting NVIDIA GPUs

  • Design and develop new compiler passes and optimizations required to meet the high performance and low compilation time requirements of the compiler

  • Work with global compiler, hardware and application teams to oversee improvements and problem resolutions

  • Apply and adapt the latest compiler technologies to produce premier, robust, supportable compiler and tools

  • Get a chance to influence and work on new GPU architectures

What we need to see:

  • 8+ years of compiler development experience including 3+ years of experience in LLVM with a focus in code generation

  • Expertise in LLVM code generation including instruction scheduling, software pipelining, register allocation, GlobalISel, TableGen, LLVM IR, and Machine IR (MIR)

  • Proficient in compiler design and in performance analysis tools

  • Excellent hands-on C++ programming skills applied to industry standard C++ compilers and development frameworks

  • 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

  • B.S. or higher degree in Computer Science/Engineering or equivalent experience

Ways for you to stand out from the crowd:

  • Masters or PhD preferred, with 5+ years of relevant experience

  • Experience developing compiler optimizations and code generation for GPUs

  • Experience in developing CUDA, DirectX, OpenGL/Vulkan applications

  • You should have strong interpersonal skills and be capable of leading and influencing others in the department

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 176,000 USD - 333,500 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.