Senior Software Engineer - Automated Parallel Programming

Posted:
8/23/2024, 3:08:08 PM

Location(s):
Hillsboro, Oregon, United States ⋅ California, United States ⋅ Oregon, United States

Experience Level(s):
Senior

Field(s):
AI & Machine Learning ⋅ Software Engineering

Workplace Type:
Remote

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. Apply for an opportunity to 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 computers. 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, 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:

  • 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).

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

  • Demonstrated experience developing large software projects.

  • We require excellent verbal and written communication skills.

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

Ways to stand out from the crowd:

  • Python programming knowledge

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

  • Experience with machine learning frameworks (e.g. PyTorch, TensorFlow, scikit-learn, etc.)

  • Experience working with and optimizing Large Language Models or conversational systems.

  • Background with building core PyTorch components to maximize network performance and utilization.

  • Experience with deep learning compilers

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.

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

Website: https://www.nvidia.com/

Headquarter Location: Santa Clara, California, United States

Employee Count: 10001+

Year Founded: 1993

IPO Status: Public

Last Funding Type: Grant

Industries: Artificial Intelligence (AI) ⋅ GPU ⋅ Hardware ⋅ Software ⋅ Virtual Reality