NVIDIA is leading the way in groundbreaking developments in Artificial Intelligence, High-Performance Computing and Visualization. They are looking for highly motivated Senior Software Engineers to work on their GPU Fabric Networking team, developing and maintaining software that enables communication between GPUs for disruptive products in High Performance Computing and Deep Learning.
Responsibilities:
- Design, implement and maintain system software that enables communication between GPUs
- Participate in the architectural definition and design of next-generation communication hardware and software to support large scale computing platforms
- Work with cross-disciplinary teams to understand business requirements and align software direction to meet those needs
Requirements:
- B.S/M.S/Ph.D. in computer science or a related field or equivalent experience
- 5+ years of relevant experience
- Excellent C/C++ programming and debugging skills
- Shell scripting experience
- Experience writing software applications that interface with device drivers and expose associated hardware functionality
- Strong understanding of computer system architecture, operating system and kernel internals
- Strong experience with Linux and comfortable working in a cross-platform environment (Linux and Windows)
- Experience with multi-core / multi-process / multi-threaded programming environment
- Strong understanding of networking fundamentals and high-performance networks like Ethernet/IB
- Experience with OS virtualization technologies like KVM/QEMU/Hyper-V etc
- Ability and flexibility to work and communicate effectively in a multi-national, multi-time-zone corporate environment
- Understanding of CUDA programming model and NVIDIA GPUs
- Knowledge of memory coherence and consistency models
- Familiarity with static and dynamic code analysis, fuzzing, negative testing, and other techniques