Used Tools & Technologies
Not specified
Required Skills & Competences ?
Communication @ 4 CUDA @ 4 GPU @ 4Details
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”.
Responsibilities
- 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
Requirements
- 5+ 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
- Strong interpersonal skills and capability of leading and influencing others in the department
Additional Information
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.
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.