Senior Software Engineer, C++ and CUDA - Analytics and Data Intelligence
Tech Stack
Tag name is followed by "@" symbol and proficiency level value.
About proficiency levels:
- 1-2 — basic awareness. Minimal hands-on experience, and a rudimentary understanding of the technology's purpose;
- 3-6 — daily use. Comfortable and regular usage, capable of handling common tasks and challenges related to the technology;
- 7-9 — you are an expert, you can teach others, you know all the pitfalls and tricks;
- 10 — exceptional knowledge, comprehensive understanding, and adeptness in all aspects of the technology, including advanced problem-solving. Think twice before claiming or demanding such level.
AI
Algorithms @ 6
BI
CUDA
Communication @ 6
Debugging @ 4
GPU
LLM
NCCL @ 6
Parallel Programming
Presto
Software Development @ 6
- 1-2 — basic awareness. Minimal hands-on experience, and a rudimentary understanding of the technology's purpose;
- 3-6 — daily use. Comfortable and regular usage, capable of handling common tasks and challenges related to the technology;
- 7-9 — you are an expert, you can teach others, you know all the pitfalls and tricks;
- 10 — exceptional knowledge, comprehensive understanding, and adeptness in all aspects of the technology, including advanced problem-solving. Think twice before claiming or demanding such level.
Details
As part of NVIDIA’s Analytics and Data Intelligence (ADI) group, this team develops libcudf, the open-source CUDA C++ library that accelerates database and DataFrame operations. With flexible I/O and high-performance merging, aggregating, and filtering, the library serves domains including business intelligence, genomics, and LLM training. The team uses modern C++ and CUDA to produce software with elegant design, broad feature coverage, and best-in-class performance.
The role focuses on applying parallel programming skills to accelerate open-source software libraries for GPU-based data processing. You will work on speed-of-light performance in structured data processing across single workstations and multi-node GPU supercomputers. You will also build computational cores for DataFrame and database accelerators using highly optimized C++ and CUDA libraries that leverage GPU parallelism for data loading, parsing, joins, aggregations, and other operations.
Responsibilities
- Own development for UcxExchange in Velox (30%), including:
- GPU-to-GPU communication in Presto.
- Driving the feature roadmap.
- Improving performance and ensuring correctness.
- Optimize multi-node performance for analytical queries with Presto GPU (30%) across on-premises clusters and public cloud servers.
- Lead projects of interest in Presto, Velox, and cuDF (40%), including operator completeness, GPU memory oversubscription, and efficient CPU fallback.
- Contribute ideas and major enhancements to NVIDIA’s open-source software suite.
Requirements
- 8+ years of experience in computer science or software engineering.
- MS degree or PhD in computer science, engineering, or a related field, or equivalent experience.
- Strong modern C++ programming skills.
- Commitment to robust, readable, high-performance code.
Preferred Qualifications
- Expertise in high-performance communication protocols such as UCX and NCCL, and distributed algorithms for query engines.
- Familiarity with RAPIDS cuDF.
- Experience in distributed workflow development and debugging.
- Passion for open-source software development and publishing work in technical blogs and conferences.
Compensation and Benefits
The base salary range is USD 184,000–287,500 for Level 4 and USD 224,000–356,500 for Level 5. Compensation is determined based on location, experience, and the pay of employees in similar positions. The role also includes eligibility for equity and benefits.
Applications will be accepted at least until August 18, 2026. NVIDIA uses AI tools in its recruiting processes and is an equal opportunity employer.