Role at a glance
- Salary
- Not Disclosed
- Location
- 2 Locations, California, United States
- Work arrangement
- On-site
- Employment
- Full-time
- Experience
- BS, MS, or PhD in Computer Science, Computer Engineering, or a related field, or equivalent experience and 8+ years of relevant...
- Education
- BS, MS, or PhD in Computer Science, Computer Engineering, or a related field, or equivalent experience and 8+ years of relevant...
Spotted an issue?
We’ll check it against the original posting.
Qualifications
Requires a BS, MS, or PhD in Computer Science, Computer Engineering, or a related field, or equivalent experience, and 8+ years of relevant software-development experience. Requires strong production programming skills in C and C++, deep knowledge of modern C++, and experience with generic programming, templates, type systems, systems-level software, demanding performance and concurrency requirements, and CUDA or another parallel or heterogeneous programming environment. Also requires experience developing production software or foundational libraries, understanding of API and ABI compatibility, comfort with large C/C++ codebases and build/CI infrastructure, and the ability to work independently and communicate clearly in writing.
Required
- Strong production programming skills in C and C++, with deep knowledge of modern C++.
- Experience with generic programming, templates, type systems, and standard-library design principles.
- Proven experience developing systems-level software with demanding performance, concurrency, and compatibility requirements.
- Practical experience with CUDA or another parallel or heterogeneous programming environment.
- Experience developing production software or foundational libraries, including testing, profiling, benchmarking, and code review.
- Understanding of API and ABI compatibility and the challenges of exposing C/C++ functionality to other languages.
- Ability to work independently, define project scope, and drive complex work to completion.
- Clear written communication skills for architecture documents, API specifications, and developer documentation.
Preferred
- Strong understanding of CPU/GPU architecture and performance optimization, with hands-on experience in GPU-accelerated stacks (CUDA...
- Proficiency with modern C++ and GPU libraries such as Thrust, CUB, and libcudacxx.
- Experience with compiler infrastructure and tooling, including LLVM, Clang, or MLIR.
- Knowledge of binary interfaces, linking, versioning, cross-platform distribution, and interoperability across Python, Rust, and C/C++...
- Demonstrated interest in developer tools, library design, and improving developer productivity.
About the role
Original posting provided by NVIDIA
NVIDIA’s accelerated computing platform is foundational to modern HPC and AI. At the center of this platform are CUDA Core Libraries that provide the algorithms, abstractions, and runtime capabilities needed to build fast, reliable, and scalable GPU-accelerated software.
We are hiring a Senior Software Engineer to advance the C++ foundation of CUDA Core Libraries. You will design and optimize high-performance algorithms and APIs for C++ developers. You will join the team building the foundational libraries, algorithms, and language/runtime infrastructure that make CUDA a speed-of-light experience for developers and AI coding agents alike.
What you’ll be doing:
Design and implement foundational CUDA C++ libraries, parallel algorithms, utilities, and runtime abstractions.
Compose and optimize GPU algorithms from high-level generic interfaces through low-level implementation.
Design stable interoperability boundaries that allow core C/C++ functionality to be consumed efficiently from Python and Rust.
Balance performance, compile time, portability, compatibility, usability, and long-term API evolution.
Own features throughout their lifecycle: design, implementation, testing, profiling, benchmarking, documentation, release, and maintenance.
Improve developer productivity through diagnostics, examples, build integration, tests, benchmarks, and continuous integration.
Collaborate with Python, Rust, compiler, and runtime engineers during architecture, design, and code reviews.
Engage with users on performance investigations, API feedback, and correctness issues.
What we need to see:
BS, MS, or PhD in Computer Science, Computer Engineering, or a related field, or equivalent experience and 8+ years of relevant software-development experience.
Strong production programming skills in C and C++, with deep knowledge of modern C++.
Experience with generic programming, templates, type systems, and standard-library design principles.
Proven experience developing systems-level software with demanding performance, concurrency, and compatibility requirements.
Practical experience with CUDA or another parallel or heterogeneous programming environment.
Experience developing production software or foundational libraries, including testing, profiling, benchmarking, and code review.
Understanding of API and ABI compatibility and the challenges of exposing C/C++ functionality to other languages.
Ability to work independently, define project scope, and drive complex work to completion.
Clear written communication skills for architecture documents, API specifications, and developer documentation.
Comfort working in large C/C++ codebases with build systems, toolchains, and continuous-integration infrastructure.
Ways to stand out from the crowd:
Strong understanding of CPU/GPU architecture and performance optimization, with hands-on experience in GPU-accelerated stacks (CUDA C++/Python, PyTorch, JAX, Numba, CuPy, or similar).
Proficiency with modern C++ and GPU libraries such as Thrust, CUB, and libcudacxx.
Experience with compiler infrastructure and tooling, including LLVM, Clang, or MLIR.
Knowledge of binary interfaces, linking, versioning, cross-platform distribution, and interoperability across Python, Rust, and C/C++ stacks.
Demonstrated interest in developer tools, library design, and improving developer productivity.
You will also be eligible for equity and benefits.
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.About the company
NVIDIA
Large Enterprise
NVIDIA is a leading technology company renowned for its graphics processing units (GPUs) and innovative computing solutions that enhance visual experiences across multiple platforms, including gaming, scientific research, and artificial intelligence. Founded in 1993, the company has expanded its offerings to include powerful AI frameworks and deep learning platforms, making significant contributions to industries such as gaming, data centers, automotive, and healthcare. NVIDIA's commitment to pushing the boundaries of visual computing continues to drive advancements in both hardware and software, positioning the company at the forefront of emerging technologies and digital transformation.