logo

NVIDIA

Senior Software Engineer, Compiler Infrastructure

Department
Engineering
Job Type / Location
Santa Clara
Experience Required
5+ years
Posted On

About the team

NVIDIA has continuously reinvented itself over two decades. Our invention of the GPU in 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. NVIDIA is a "visual computing company" because we are a pioneer in technologies that advance the state-of-the-art in visual computing, from the chip to the cloud, and from gaming to enterprise, to autonymous vehicles.

As a key member of our CUDA Compiler team, you will be enabling developers around the world to write GPU accelerated applications using familiar programming languages like C++, CUDA C/C++, OpenCL, SYCL, and Fortran. You will be helping to develop compilers for our next generation GPU architectures, which enable the fastest and most power-efficient supercomputers in the world and push the limits of Artificial Intelligence, Computer Vision, and High-Performance Computing. Join us in building the next generation of GPU compiler technology!

What you'll be doing

  • Design and implement features for the CUDA compiler, including new language features, optimizations, and GPU architecture support.
  • Take an active role in all stages of software development, including requirements definition, design, implementation, and unit and integration testing.
  • Help debug challenging customer issues and respond to questions from users.
  • Support and improve existing code and infrastructure.
  • Collaborate with other NVIDIA compiler teams, driver teams, and GPU architects.

What we need to see

  • Bachelor's, Master's, or PhD degree in Computer Science, Computer Engineering, or a related field.
  • 5+ years of experience developing compilers.
  • Expertise in C++.
  • Strong experience with LLVM.
  • Experience with code generation, optimizations, and parallel programming.
  • Excellent communication and collaboration skills.

Ways to stand out from the crowd

  • Experience with CUDA, OpenCL, SYCL, DXR, DX12, Vulkan, Metal, or SPIR-V.
  • Experience with Clang.
  • Experience with debuggers, profilers, or static analysis tools.

View Assessment Process

Think you'll be a good fit?