Summary
NVIDIA is a leading company in the technology sector, focusing on groundbreaking products for Automotive, VR, Gaming, Deep Learning, and High Performance Computing. They are seeking a System Software Engineer to develop software that empowers GPU application developers and contributes to foundational software libraries for developer tools.
Responsibilities
- Design, develop, and maintain GPU performance foundation libraries for Nsight tools with focus on high fidelity hardware events and counters
- Develop and implement GPU assembly tests
- Build and maintain a test validation framework written primarily in CUDA and GPU Assembly
- Utilize emulators to debug and verify instruction events
- Document tools use cases and data processing workflows to facilitate architectural explorations
Skills
- B.S. EE/CS (or equivalent experience) and 5+ years of experience or MS with 2+ years' experience, or Ph.D
- Strong programming ability in C, C++, and scripting languages such as Python
- Good understanding or prior experience with low level assembly code
- Solid understanding of hardware pipeline and execution unit instruction pipeline concepts, with a willingness to work at a detailed implementation level
- Knowledge of hardware-software co-design principles and practices
- Experience with performance analysis and optimization of software on hardware accelerators
- Experience with developing on simulators and emulators
- Excellent problem-solving skills and the ability to work collaboratively in a team environment
- Strong communication skills, both written and verbal
- Shown knowledge of compute (CUDA/OpenCL), modern graphics (DirectX12, OpenGL, Vulkan, Metal), or DL frameworks (PyTorch/JAX)
- Prior experience authoring developer tools, particularly for GPUs, games, pro visualization, or compute workloads
- Knowledge of performance analysis, particularly of GPU applications
- Experience in driver development
Qualifications
Must Haves
- B.S. EE/CS (or equivalent experience) and 5+ years of experience or MS with 2+ years' experience, or Ph.D
- Strong programming ability in C, C++, and scripting languages such as Python
- Good understanding or prior experience with low level assembly code
- Solid understanding of hardware pipeline and execution unit instruction pipeline concepts, with a willingness to work at a detailed implementation level
- Knowledge of hardware-software co-design principles and practices
- Experience with performance analysis and optimization of software on hardware accelerators
- Experience with developing on simulators and emulators
- Excellent problem-solving skills and the ability to work collaboratively in a team environment
- Strong communication skills, both written and verbal
Nice to Haves
- Shown knowledge of compute (CUDA/OpenCL), modern graphics (DirectX12, OpenGL, Vulkan, Metal), or DL frameworks (PyTorch/JAX)
- Prior experience authoring developer tools, particularly for GPUs, games, pro visualization, or compute workloads
- Knowledge of performance analysis, particularly of GPU applications
- Experience in driver development
Benefits
- Eligible for equity
- Eligible for benefits