Senior Software Engineer, CUDA C++ Core Libraries
Role details
Job location
Tech stack
Job description
- 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.
Requirements
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., * 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.
Benefits & conditions
4.24.2 out of 5 stars 2788 San Tomas Expressway, Santa Clara, CA 95051 $184,000 - $356,500 a year - Full-time, Your base salary will be determined based on your location, experience, and the pay of employees in similar positions. The base salary range is 184,000 USD - 287,500 USD for Level 4, and 224,000 USD - 356,500 USD for Level 5.