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 @ 3
API @ 3
Algorithms @ 3
CUDA @ 3
Communication @ 6
Debugging @ 6
GPU @ 3
HPC
JAX
LLM
Mathematics @ 3
OpenCL @ 3
Performance Analysis @ 6
Python @ 2
Software Development @ 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
We are looking for software engineering interns to help expand our catalog of Device eXtension (Dx) APIs for math libraries. NVIDIA's accelerated computing platform supports high-performance computing and AI applications, and the team develops GPU-accelerated mathematical libraries.
The hardware and software accelerated computing ecosystem is evolving through hybrid backends, integration with high-level languages and ecosystems such as Python, NumPy, JAX, and MLIR, and runtime optimization for flexibility and performance. Dx APIs allow developers to embed highly optimized mathematical operations in their applications.
During the internship, you will work with senior software engineers who will provide mentorship while you develop and optimize algorithms. Projects may involve implementing numerical algorithms, defining APIs, analyzing performance, optimizing libraries for the latest NVIDIA GPUs, improving customer experiences through agentic workflows and AI tools, and performing general software engineering work.
Responsibilities
- Prototype and develop numerical algorithms for high-performance math device extension libraries, including cuBLASDx, cuSolverDx, cuFFTDx, cuRANDDx, nvCOMPDx, NPPDx, and libmathdx, on NVIDIA graphics processors.
- Analyze GPU implementation performance and identify opportunities for improvement.
- Collaborate with team members to understand software use cases and requirements.
- Prototype tooling and solutions that transform math library APIs into LLM-friendly representations across popular code-generation tools.
Requirements
- Pursuing a master's or PhD degree in Computer Science, Artificial Intelligence, Applied Mathematics, or a related field.
- Strong C++ programming, debugging, performance analysis, and test-building skills.
- Parallel or GPU programming experience using CUDA, OpenMP, OpenCL, SYCL, or similar technologies.
- Experience with linear algebra, FFT, or data compression algorithms.
- Strong collaboration, communication, and documentation habits.
Preferred Qualifications
- Understanding of composability and fusions, compilers, or programming-language implementation.
- Knowledge of GPU and network hardware architecture.
- Familiarity with Python and recent CUDA developments such as cuTile and CUDA Tile C++.
- Prior work in AI-assisted software development, knowledge of LLMs and MCP, or experience building RAGs or agentic tooling.
- Exposure to numerical methods, floating-point arithmetic, and numerical error analysis.
Benefits
NVIDIA offers competitive salaries and a comprehensive benefits package. The company is an equal opportunity employer and values diversity.
Internship pay is based on the position, location, year in school, degree, and experience.