Define Safe Parallel Abstractions: 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.
Expose Next-Gen Hardware Features: 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.
Build the future: Supporting today’s accelerated computing applications is not sufficient. We have to build composable building blocks for others around us to build the applications of tomorrow.
What we need to see
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.
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).
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.
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.
With competitive salaries and a generous benefits package, we are widely considered to be one of the technology world’s most desirable employers. 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.
Your base salary will be determined based on your location, experience, and other objective job-related factors. The expected base salary range for this position is 152,000 USD – 241,500 USD.
You will also be eligible for equity and benefits.
Applications for this job will be accepted at least until November 3, 2026.
This posting is for an existing vacancy.
NVIDIA uses AI tools in its recruiting processes.
NVIDIA is committed to fostering an inclusive work environment and proud to be an equal opportunity employer. As we highly value diversity in our current and future employees, we do not discriminate (including in our hiring and promotion practices) on the basis of race, religion, color, national origin, gender, gender expression, sexual orientation, age, marital status, veteran status, disability status or any other characteristic protected by law.