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
API
Algorithms @ 3
CUDA @ 3
Debugging @ 6
Deep Learning
GPU @ 3
HPC
Machine Learning
Mathematics @ 3
Parallel Programming @ 3
Performance Analysis @ 6
Python @ 3
- 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
NVIDIA is looking for a software engineering intern to join its Sparse Linear Algebra team, which develops libraries such as cuSPARSE for high-performance computing and deep learning software stacks. The team develops optimized computing primitives for sparse matrix-vector and sparse matrix-matrix products across gaming, machine learning, autonomous driving, chip modeling, and other applications.
During the internship, you will work with senior software engineers who will provide mentorship and guidance in developing highly optimized algorithms. Projects may involve implementing numerical algorithms, defining APIs, analyzing performance, addressing difficult numerical corner cases, and performing general software engineering work.
Responsibilities
- Prototype and develop numerical algorithms for high-performance sparse linear algebra libraries for GPUs.
- Analyze the performance of GPU implementations and identify opportunities for improvement.
- Collaborate with team members to understand software use cases and requirements.
- Implement new numerical algorithms, define APIs, analyze performance, and develop solutions for difficult numerical corner cases.
Requirements
- Pursuing an MS or PhD in Computational Science, Computer Science, Applied Mathematics, or an equivalent program area.
- Strong C++ programming, debugging, performance analysis, and test design skills.
- Experience implementing sparse linear algebra algorithms.
- Parallel programming experience using CUDA and/or OpenMP.
- Experience with domain-specific language design, code/kernel generation, and compiler optimizations.
Preferred Qualifications
- Exposure to numerical methods, floating-point arithmetic, and numerical error analysis.
- Knowledge of GPU/CPU and network hardware architecture.
- Experience with a scripting language, preferably Python.
- Understanding of composability and fusions, compilers, and programming language implementation.
- Familiarity with recent CUDA developments such as cuTILE and Tile++.
- Experience with sparse compilers such as MLIR or TACO.
Benefits
- Eligible for NVIDIA intern benefits.
- NVIDIA is committed to fostering an inclusive work environment and is an equal opportunity employer.
The internship hourly rate is USD 20–71, based on the position, location, year in school, degree, and experience. Applications will be accepted at least until October 17, 2026. This posting is for an existing vacancy. NVIDIA uses AI tools in its recruiting processes.