Senior Software Engineer, Fabric Networking - GPU
Job Description
NVIDIA is leading the way in groundbreaking developments in Artificial Intelligence, High-Performance Computing and Visualization. The GPU, our invention, serves as the visual cortex of modern computers and is at the heart of our products and services. Our work opens up new universes to explore, enables amazing creativity and discovery, and powers what were once science fiction inventions from artificial intelligence to autonomous cars. NVIDIA is looking for phenomenal people like you to help us accelerate the next wave of artificial intelligence.
We are looking for highly motivated Senior Software Engineers to work on our GPU Fabric Networking team. Our team develops and maintains software that enables communication between GPUs, that power disruptive products in High Performance Computing and Deep Learning.
What you will be doing:
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.
What we need to see:
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. Python and Perl experience is a plus.
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.
Ways to stand out from the crowd:
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.
With competitive salaries and a generous benefits package, we are widely considered to be one of the technology world’s most desirable employers. We have some of the most forward-thinking and hardworking people in the world working for us and, due to unprecedented growth, our exclusive engineering teams are rapidly growing. If you're a creative and autonomous engineer with a real passion for technology, we want to hear from you!
The base salary range is 148,000 USD - 276,000 USD. Your base salary will be determined based on your location, experience, and the pay of employees in similar positions.You will also be eligible for equity and benefits. NVIDIA accepts applications on an ongoing basis.