Senior Software Engineer, CUDA Rust Core Libraries
$184k - $357k • Remote • US, CA, Santa Clara
Posted 1mo ago
About the job
NVIDIA is seeking a Senior Software Engineer to enhance the Rust experience for CUDA Core Libraries. This role involves designing and implementing safe, idiomatic Rust APIs for GPU computing, while integrating closely with existing C/C++ components. You will be part of the team responsible for building the foundational libraries, algorithms, and infrastructure that power CUDA, ensuring a high-performance experience for developers and AI coding agents.
Responsibilities
- Design and implement idiomatic Rust libraries and APIs for CUDA functionality and GPU algorithms.
- Build safe Rust abstractions over native CUDA and C/C++ interfaces.
- Develop and maintain C/C++ components supporting Rust functionality.
- Establish safe and efficient interoperability between Rust and C/C++, including Python integration.
- Optimize performance across Rust, C/C++, and GPU execution.
- Own features end-to-end, including design, implementation, testing, profiling, benchmarking, documentation, packaging, release, and maintenance.
- Improve the Rust developer experience through examples, diagnostics, build integration, compatibility testing, and CI.
- Collaborate with C/C++, Python, compiler, and runtime engineers.
- Investigate and resolve user issues related to safety, correctness, usability, compatibility, and performance.
Requirements
- BS, MS, or PhD in Computer Science, Computer Engineering, or related field, or equivalent experience.
- 8+ years of relevant software development experience.
- Strong production programming skills in Rust and C/C++.
- Deep understanding of Rust ownership, lifetimes, traits, generics, concurrency, and unsafe code.
- Experience developing systems libraries, runtime components, and developer-facing APIs.
- Practical knowledge of foreign-function interfaces and integrating Rust with C/C++.
- Solid understanding of systems software concepts, including performance, concurrency, and API design.
- Experience with parallel, heterogeneous, or GPU programming.
- Experience contributing to production or open-source software, including testing, profiling, benchmarking, packaging, and code review.
- Ability to work independently, define scope, and drive complex projects.
- Strong written communication skills and ability to work effectively in large, multi-language codebases.
Benefits
- Equity
- Benefits
