Description
We are looking for a motivated system software engineer with a deep understanding of device drivers who has phenomenal C/C++ skills. As a member of our team, you will use your design abilities, coding expertise, and creativity to deliver the best compute platform in the world. You will craft elegant solutions to exciting problems and shape the future direction of CUDA as you collaborate with your peers across NVIDIA.
Responsibilities:
- Evangelize, architect, and implement new features
- Coordinate and drive development efforts across multiple teams
- Help define forward-looking improvements to the CUDA APIs and programming model
- Extend important CUDA programming models and functionality such as CUDA Graphs and MPS (Multi-Process Service)
- Write effective, maintainable, and well-tested code
- Develop code for multiple operating systems
Requirements:
- BS or MS degree in Computer Science, Electrical Engineering or related field (or equivalent experience)
- Strong C and C++ programming skills
- Minimum of 8-10 years of related development experience
- Experience driving projects across multiple teams
- Experience working with large codebases
- Background with operating system interfaces for threads, process control, and virtual memory
- Experience writing and debugging multithreaded programs
- Good written communication as well as presentation skills
Nice to Have:
- Prior experience with parallel computing - preferably writing CUDA Programs or Libraries that use CUDA
- Understanding of system level architecture, such as interconnects, memory hierarchy, interrupts, and memory-mapped IO
- Knowledge of memory coherence and consistency models
- Background with kernel mode development
- Experience with Linux Systems Software development
This listing is enriched and indexed by YubHub. To apply, use the employer's original posting:
https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite/job/US-CA-Santa-Clara/Senior-Software-Engineer--CUDA-UMD---Graphs-and-GPU-Sharing_JR2014056