Senior Backend Compiler Engineer
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.