Senior Compiler Engineer – Rust GPU
- Bengaluru, India
- Senior Level
- 5+ years
- Bachelor's degree
- Posted
Skills
Required
- Rust
- Tensor Memory Accelerator TMA
- warp / cluster-level
- compiler development / language design / GPU code generation
- parallel programming models
- GPU architectures
- CUDA programming
- GPU kernels
- code development
- code review
Preferred
- Rust programming language
- rustc
- Rust MIR
- procedural macros
- Rust's
- borrow-checker/lifetime model
- compiler infrastructures
- code generation
NVIDIA is dedicated to reinvent accelerated computing.
NVIDIA is hiring a Senior Compiler Engineer to join our team driving the next generation of GPU systems programming. We are redefining how developers write high-performance GPU software by bringing the safety, expressiveness, and modern tooling of Rust to native GPU and CUDA development.
About NVIDIA
- Reinvention requires great technology and amazing people.
- As an NVIDIAN, you’ll be immersed in a diverse, supportive environment where everyone is inspired to do their best work.
- Come join the team and see how you can make a lasting impact on the world.
- We have some of the most forward-thinking and hardworking people in the world working for us and, due to unprecedented growth, our exclusive engineering teams are rapidly growing.
- If you're a creative and autonomous engineer with a real passion for programming languages and systems technology, we want to hear from you.
Responsibilities
- On this team, you will build cutting-edge compiler pipelines, custom intermediate representation (IR) frameworks, and JIT compilation systems that bridge host and device execution—allowing developers to write memory-safe, high-performance GPU kernels in idiomatic Rust.
- Develop Rust-to-GPU Compiler Pipelines: Design, implement, and maintain custom compiler backends (such as rustc codegen backends and proc-macros) and Rust-native intermediate representation (IR) frameworks to compile standard Rust directly to high-performance CUDA PTX and machine code.
- Work with modern compiler architectures to lower Rust AST and MIR into IRs including MLIR, PTX, and LLVM, including GPU-specific optimizations.
- Support complex ahead-of-time, just-in-time, and link time optimization workflows: Build state-of-the-art tooling to support users targeting a broad family of NVIDIA GPUs, host platforms, and feature sets.
- Architect innovative compiler-enforced safety models that extend Rust's ownership, borrowing, and lifetime disciplines across the GPU launch boundary—preventing data races and enforcing memory safety during asynchronous GPU execution.
- We have to build composable building blocks for others around us to build the applications of tomorrow.
Requirements
- Implement type-safe, ergonomic device-side abstractions in Rust for low-level GPU hardware primitives, including shared memory, barriers, scoped atomics, Tensor Memory Accelerator (TMA), and warp/cluster-level operations.
- Bachelor's, Master's, or Ph.D. in Computer Science, Computer Engineering, a related field, or equivalent experience.
- 5+ years of relevant work or research experience in compiler development, language design, or GPU code generation.
- Solid understanding of parallel programming models, GPU architectures, and CUDA programming.
- Strong software design skills, including debugging, profiling, and benchmarking compilers and GPU kernels.
- Ability to orchestrate agents for product requirement design, architecture, code development, testing, code review, and issue triage.
- Ability to work independently, define project goals and scope, and drive complex compiler-engineering efforts from research to production.
Preferred
- Deep expertise in the Rust programming language, including a strong grasp of compiler internals (rustc), Rust MIR, procedural macros, and Rust's borrow-checker/lifetime model.
- Hands-on experience with compiler infrastructures, intermediate representations (IRs), and code generation (such as LLVM IR, MLIR, or custom IR systems).
- Ways to stand out from the crowd: A track record of contributing to the Rust compiler (rustc), Cargo tooling, or open-source Rust-to-GPU projects.
- Experience building custom compiler front-ends, AST translators, or JIT engines.
- Familiarity with MLIR or other extensible compiler frameworks.
- Deep proficiency in low-level GPU programming, including the use of modern hardware features (e.g., Tensor Cores, warp-level shuffles, or asynchronous transfer pipelines).
- Experience designing Domain-Specific Languages (DSLs) or tile-based programming abstractions for tensor processing.
Benefits
- With competitive salaries and a generous benefits package, we are widely considered to be one of the technology world’s most desirable employers.
Build the future
Supporting today’s accelerated computing applications is not sufficient.
jobapplier