onsite
Senior Staff Software Engineer, GPU Memory System Infrastructure
Senior Staff Software Engineer, GPU Memory System Infrastructure
NVIDIA is seeking a Senior Staff Software Engineer to join their team focused on GPU memory system infrastructure. In this role, you will design and implement new features and improvements to GPU memory management units, enhance system performance, and provide technical leadership. This position requires deep expertise in C++, GPU memory management, and experience with large-scale system-level programming.
About the role
About the Role
As a Senior Staff Software Engineer focused on GPU memory system infrastructure, you will be joining a team of software and hardware engineers that architect, design, and implement features related to GPU memory management. This is a crucial area that is experiencing rapid development due to the evolving needs of AI, deep learning, HPC, and graphics. Your work will involve low-level software interaction with hardware and will have a broad impact across all NVIDIA products. You will have opportunities to define future architectures for NVIDIA GPUs and SW.
What you'll be doing:
- Design and implement new features and improvements to the GPU memory management unit (MMU) and related hardware and software.
- Improve performance, stability, and robustness of GPU memory management.
- Participate in all phases of software development, including research, design, implementation, and debugging.
- Collaborate with other hardware and software teams to define new features and improve the overall system.
- Provide technical leadership and mentorship to junior engineers.
What we need to see:
- BS, MS, or PhD degree in Computer Science, Computer Engineering, or a related field (or equivalent experience).
- 10+ years of experience in software development, with a significant focus on system-level programming.
- Expertise in C++ and experience with large-scale software projects.
- Strong understanding of GPU memory management, virtual memory systems, and CPU-GPU interaction.
- Excellent debugging and problem-solving skills.
- Strong communication and interpersonal skills, with the ability to work effectively in a collaborative team environment.
- Experience with operating systems and computer architecture.
Ways to stand out from the crowd:
- Experience with GPU programming models (CUDA, OpenCL, etc.).
- Prior experience in the design and implementation of hardware-software interfaces.
- Experience with complex system-level debugging and performance analysis.