NVIDIA

Senior Software Engineer - Automated Parallel Programming

Remote Durham, NC
USD 184k - 287k
PyTorch NumPy Machine Learning Deep Learning TensorFlow
Description

The PyTorch Team @ NVIDIA is hiring passionate parallel programmers. Join us to design and build the tools used by millions of AI practitioners deploying AI applications scalable to thousands of GPUs. Our team is responsible for the continual delivery of best in class experience on NVIDIA's hardware with PyTorch. Join our team and collaborate with many multi-disciplinary engineering teams within NVIDIA and internationally in the PyTorch open source community to deliver our customers the best of NVIDIA software.

In this position you will learn innovative techniques from NVIDIA's domain experts for efficiently programming the world's most sophisticated computer systems. Build these techniques into NVIDIA/Fuser (commonly known as "nvFuser") applying our groundbreaking Parallel Programming Theory, allowing these optimization techniques to be applied to algorithms broadly, automatically, and safely to algorithms written in Numpy and PyTorch. Beyond building nvFuser influence and improve the entire software stack all the way from users to the CUDA compiler, to the Lightning-Thunder Graph Compiler, as well as influence the future design of NVIDIA's hardware platform. Join our ambitious and diverse team who strive to lead the best in AI programming.

What you will be doing:

  • Crafting a code generation system to accelerate portions of a graph collected from a machine learning framework.

  • Partnering with NVIDIA’s hardware and software teams to improve GPU performance in PyTorch.

  • Design, build and support production AI solutions used by enterprise customers and partners.

  • Optimize the performance of influential, modern Deep Learning models coming out of academic and industry research, for NVIDIA GPUs and systems.

  • Collaborating with internal applied researchers to improve their AI tools.

  • Advise design of new hardware generations.

What we need to see:

  • MS or PhD Computer Science, Computer Engineering, Electrical Engineering or a related field (or equivalent experience).

  • Parallel programming experience with writing optimized kernels in the NVIDIA CUDA Programming Language or similar parallel languages

  • 4+ years of experience with C++ programming.

  • Demonstrated experience developing large software projects.

  • We require excellent verbal and written communication skills.

Ways to stand out from the crowd:

  • Proven technical foundation in CPU and GPU architectures, numeric libraries, modular software design.

  • A background in deep learning compilers or compiler infrastructure

  • Expertise with optimized distributed parallelism techniques and it's a bonus if that includes parallelizing Large Language Models!

  • Knowledge of heuristic generation that employs cost models, machine learning, or auto-tuning.

  • Contributions to PyTorch, Numpy, JAX, TensorFlow, OpenAI-Triton, Lightning Thunder, TVM, Halide or similar system.

The base salary range is 184,000 USD - 287,500 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.

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.

NVIDIA
NVIDIA
Artificial Intelligence (AI) GPU Hardware Software Virtual Reality

0 applies

1 views

There are more than 50,000 engineering jobs:

Subscribe to membership and unlock all jobs

Engineering Jobs

60,000+ jobs from 4,500+ well-funded companies

Updated Daily

New jobs are added every day as companies post them

Refined Search

Use filters like skill, location, etc to narrow results

Become a member

🥳🥳🥳 452 happy customers and counting...

Overall, over 80% of customers chose to renew their subscriptions after the initial sign-up.

To try it out

For active job seekers

For those who are passive looking

Cancel anytime

Frequently Asked Questions

  • We prioritize job seekers as our customers, unlike bigger job sites, by charging a small fee to provide them with curated access to the best companies and up-to-date jobs. This focus allows us to deliver a more personalized and effective job search experience.
  • We've got about 70,000 jobs from 5,000 vetted companies. No fake or sleazy jobs here!
  • We aggregate jobs from 5,000+ companies' career pages, so you can be sure that you're getting the most up-to-date and relevant jobs.
  • We're the only job board *for* software engineers, *by* software engineers… in case you needed a reminder! We add thousands of new jobs daily and offer powerful search filters just for you. 🛠️
  • Every single hour! We add 2,000-3,000 new jobs daily, so you'll always have fresh opportunities. 🚀
  • Typically, job searches take 3-6 months. EchoJobs helps you spend more time applying and less time hunting. 🎯
  • Check daily! We're always updating with new jobs. Set up job alerts for even quicker access. 📅

What Fellow Engineers Say