Software Intern, Compiler

NVIDIA

Job Summary

This Software Intern position at NVIDIA involves developing and optimizing kernel-level code using RISC-V Vector Extension (RVV) for NVIDIA GPU and Tegra SOC. The intern will implement vectorized kernels for computational patterns, collaborate with hardware architects and compiler teams, and profile performance. Strong C/C++ systems programming skills, understanding of computer architecture, memory management, and Linux development are essential.

Must Have

  • Develop and optimize kernel-level code using RISC-V Vector Extension (RVV) instructions
  • Implement vectorized kernels for common computational patterns
  • Collaborate with hardware architects and compiler teams
  • Write and maintain unit tests and benchmarks
  • Profile and analyze kernel performance
  • Strong C/C++ systems programming skills
  • Understanding of computer architecture and memory management
  • Experience with Linux development and build systems (CMake)

Good to Have

  • Experience with LLVM compiler

Job Description

We are a team responsible for building embedded RISC-V CPU for NVIDIA GPU and Tegra SOC, we are looking for software engineering intern for RISC-V Vector (RVV) kernel development

What you'll be doing:

  • Develop and optimize kernel-level code using RISC-V Vector Extension (RVV) instructions to accelerate compute-intensive operations
  • Implement vectorized kernels for common computational patterns including mathematical operations, data transformations, and memory operations
  • Collaborate with hardware architects and compiler teams to understand RVV microarchitecture and optimize for performance
  • Write and maintain unit tests and benchmarks to validate correctness and measure performance improvements
  • Profile and analyze kernel performance using hardware counters and simulation tools

What we need to see:

  • Strong C/C++ systems programming skills
  • Understanding of computer architecture and memory management
  • Experience with Linux development and build systems (CMake)
  • Experience with LLVM compiler is preferred

What You'll Learn:

  • RISC-V Vector ecosystem and hardware-software interfaces
  • High-performance computing optimization techniques
  • Vector processing architectures

5 Skills Required For This Role

Cpp Game Texts Mathematical Linux C Make