NVIDIA is a leader in computer graphics and AI technology, seeking a Raytracing Compiler Engineer to join their international engineering team. The role involves guiding the design and implementation of an LLVM-based backend JIT compiler for NVIDIA GPUs, along with developing compiler optimizations and collaborating with global teams to improve compiler performance.
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 compilers and tools
- Get a chance to influence and work on new GPU architectures
Requirements:
- B.S. or higher degree in Computer Science/Engineering or equivalent experience
- 8+ years of compiler development experience, including 3+ years of experience in LLVM with a focus on code generation
- Expertise in LLVM code generation, including instruction scheduling, software pipelining, register allocation, and LLVM IR
- 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 crafting robust and maintainable solutions to challenging problems
- Good communication and documentation skills and self-motivated
- Masters or PhD preferred, with 5+ years of relevant experience
- Developing compiler optimizations and code generation for GPUs!
- Developing CUDA, DirectX, OpenGL/Vulkan, OptiX applications
- You should have strong interpersonal skills and be capable of leading and influencing others in the department