2027 Internships
NVIDIA
About the Role
NVIDIA offers 12-week full-time internships for students pursuing a B.S., M.S., or Ph.D. degree in a relevant or related field. Interns will work on projects with a measurable impact on NVIDIA's business, focusing on areas like AI and digital twins.
Potential Internships in Systems Software
- Systems Software
- Defining, designing, and developing integrated (e.g., Jetson Orin) and discrete (e.g., Hopper H100) GPU system software components (e.g., runtime, math libraries).
- Focus on power and performance, creating architecture and design specifications.
- Course or internship experience related to: Operating Systems (Threads, Process Control, Memory/Resource Management, Virtual Memory), Multithreaded Debugging, Linux Kernel Development, RTOS Development on Embedded Platforms, Data Structures & Algorithms (time/space complexity), Computer Networking (TPC/IP, OSI Model, Sockets), Low-Level Programming.
- Software Security
- Hardening and developing secure solutions across the software stack, from multi-node supercomputers to microcontrollers and security co-processors.
- Building tools and infrastructure to scale security efforts across large organizations and codebases.
- Course or internship experience related to: Operating Systems, Data Structures & Algorithms, Computer Networking (TPC/IP, OSI Model, Sockets), Network Security, Cryptography, Computer Systems Architecture, Microcontroller and Microprocessor fundamentals (Caches, Buses, Memory Controllers, DMA, etc.).
- Graphics Systems Software
- Designing and implementing OpenGL, OpenGL ES, and Vulkan graphics drivers, platform support, and conformance tests.
- Collaborating with software, hardware, architecture, and support teams for new hardware features.
- Training and debugging issues within the Tegra graphics software stack.
- Course or internship experience related to: Computer Architecture, Operating Systems, Real-Time Systems Development, Device Driver Programming, Game Console Middleware, or other Low-Level Library Development.
- Experience with: 3D/2D Graphics Theory, Implementation & Optimizations, Simulation or Emulation (writing & debugging tests).
- Compiler
- Working on deep-learning compiler technology, spanning architecture design and support through functional languages.
- Investigating problems or optimization opportunities within the Compiler backend with global teams.
- Course or internship experience related to: Operating Systems Compiler, Compiler Construction, Advanced Algorithms and Data Structures, Computer Architecture, Compiler Development, Open Source Programming, High-Performance Computing (HPC).
- Experience with automation tools: XLA, TVM, Halide.
- Experience with open source tools: CLANG, LLBM, gcc.
- Firmware & Embedded Software
- Supporting firmware development on embedded microcontrollers within GPUs, optimizing for robustness, performance, and security.
- Participating in testing new and existing firmware, and developing tools for the front-end design and verification process.
- Course or internship experience related to: Operating Systems (Threads, Process Control, Memory/Resource Management, Virtual Memory), Embedded Systems (Processors, Firmware, Input/Output Devices and Memory), Real-Time Performance, Low-Level Development, Data Structures & Algorithms, Computer Architecture, Computer Systems Software, Linux Kernel Development, Multi-Threaded or Multi-Process Programming, RTOS Development on Embedded Platforms.
Requirements & Tech Stack
- Must be actively enrolled in a university pursuing a B.S., M.S., or Ph.D. degree in Electrical Engineering, Computer Engineering, or a related field for the full duration of the internship.
- Anticipated graduation date (month and year) must be clearly indicated on a resume or CV.
- Depending on the role, prior experience or knowledge requirements could include:
- Programming Languages: C, C++, C++17, CUDA, x86, Perl, ARM CPU, Embedded C.
- Operating Systems & Environments: Linux, Linux Kernel Development, Bash/Shell Scripting.
- Graphics: 2D, 3D, Render, Shaders.
- Core Concepts: Operating Systems (Threads, Process Control, Memory/Resource Management, Virtual Memory), Multithreaded or Multi-Process Programming, Computer Networking (TPC/IP, OSI Model, Sockets), Microprocessor Fundamentals (Caches, Buses, Memory Controllers, DMA, etc.).
- Tools: Formal Verification Tools (Spark, Frama-C), Open Source Tools (CLANG, LLBM, gcc), Testing Production/Automation Tools (XLA, TVM, Halide).
Qualifications
- Students pursuing a B.S., M.S., or Ph.D. degree within a relevant or related field.