NVIDIA

Principal Software Engineer, Distributed Task-based Runtimes

NVIDIA

July 21, 2021


NVIDIA’s invention of the GPU in 1999 sparked the growth of the PC gaming market, redefined modern computer graphics, and revolutionized parallel computing. More recently, GPU deep learning ignited modern AI — the next era of computing — with the GPU acting as the brain of computers, robots, and self-driving cars that can perceive and understand the world. We're looking to grow our company, and form teams with the smartest people in the world. Join us at the forefront of technological advancement.
We are looking for an experienced software professional to lead/extend our work on the Legion and Realm runtimes for large-scale distributed GPU computing . You will be a crucial member of a team that is working to unlock the power of distributed GPU computing by developing foundational software that supports many key products spanning the gamut of high performance data analytics, deep learning, and professional graphics running on hardware ranging from supercomputers to the cloud.
What you'll be doing:
As a member of our team, you will use your design abilities, coding expertise, and creativity to develop and enhance the functionality and performance of runtime systems that underlay the foundation of distributed GPU computing at NVIDIA. Specifically, you will be working to:

  • Architect, prioritize, and develop new features in Legion and Realm

  • Analyze and improve the performance of Legion and Realm for key applications

  • Write effective, maintainable, and well-tested code for production use

What we need to see:

  • BS, MS or PhD degree in Computer Science, Electrical Engineering or related field (or equivalent experience)

  • 10 years of relevant industry experience or equivalent academic experience after BS

  • Strong C/C++ and CUDA programming skills

  • Background in high performance computing and performance critical applications

  • Experience implementing, tuning, and debugging runtimes and/or distributed systems for supercomputers or the cloud

  • Good written communication, teamwork, and presentation skills

Ways to stand out from the crowd:

  • Background with tasking or asynchronous runtimes, especially data-centric initiatives such as Legion

  • Dexterity with compilers and static/dynamic alias analysis techniques

  • Experience using Python for high performance computing

  • Knowledge of high performance spatial data structures and algorithms used in accelerating point and ray queries

  • Development of domain specific libraries/languages for high performance computing

NVIDIA is widely considered to be one of the technology world’s most desirable employers. We have some of the most forward-thinking and hardworking people on the planet working for us. If you're a creative, curious, and driven technical leader, we want to hear from you!
NVIDIA is committed to fostering a diverse work environment and proud to be an equal opportunity employer. As we highly value diversity in our current and future employees, we do not discriminate (including in our hiring and promotion practices) on the basis of race, religion, color, national origin, gender, gender expression , sexual orientation, age, marital status, veteran status, disability status or any other characteristic protected by law.