NVIDIA

Senior Software Engineer - Python Numerical Computing Libraries

Remote Santa Clara, CA
USD 148k - 276k
Machine Learning Python API NumPy TensorFlow PyTorch Deep Learning Pandas
Description

We are looking for an experienced software professional to contribute to design and development of accelerated and distributed implementations of Python APIs for numerical computing. In the last decade, Python has become the de-facto programming language for practitioners in AI, data science and HPC, through popular frameworks such as NumPy, SciPy, TensorFlow and PyTorch. These frameworks provide an efficient high-level programming interface, allowing their users to focus on their application while providing highly optimized implementations. NVIDIA has been at the forefront of providing GPU-accelerated implementations of the fundamental components of these frameworks.

Join our dynamic team to help develop and optimize GPU-accelerated and distributed implementations of Python numerical libraries, supporting Python-based frameworks in various ecosystems. This developer will be a crucial member of a team that is working to unlock the power of distributed GPU computing for domains such as scientific computing, data analytics, deep learning, and professional graphics, running on hardware ranging from supercomputers to the cloud!

What you will be doing:

  • work closely with product management and internal or external partners, to understand use cases and requirements, and contribute to the technical roadmaps of libraries

  • architect, prioritize, and develop accelerated and distributed implementations of numerical algorithms

  • design future-proof Python APIs for accelerated numerical/scientific computing libraries

  • analyze and improve the performance of developed APIs on various CPU and GPU architectures, especially as a part of customer-critical end-to-end workflows

  • prototype integrations of developed APIs into targeted frameworks

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

  • contribute to the development of runtime systems that underlay the foundation of multi-GPU computing at NVIDIA

What we need to see:

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

  • 5+ years of relevant industry experience or equivalent academic experience after BS

  • Excellent Python, C++ and CUDA programming skills

  • Strong understanding of fundamental numerical methods, dense and sparse array computing

  • Deep familiarity with Python numerical computing libraries (e.g. NumPy, SciPy), including accelerated implementations (e.g. CuPy, Jax.NumPy, NumS, cuNumeric)

  • Experience developing and publishing Python libraries, following standard methodologies for pythonic API design

  • Strong background with parallel programming and performance analysis

Ways to stand out from the crowd:

  • Experience using/contributing to Python libraries for data science (e.g. Pandas), machine learning (e.g. scikit-learn) and deep learning (e.g. TensorFlow, PyTorch)

  • Experience with low-level GPU performance optimization

  • Experience building, debugging, profiling and optimizing distributed applications, on supercomputers or the cloud

  • Background with tasking or asynchronous runtimes

  • Background on compiler optimization techniques, and domain-specific language design

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
NVIDIA
Artificial Intelligence (AI) GPU Hardware Software Virtual Reality

0 applies

2 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

πŸ₯³πŸ₯³πŸ₯³ 401 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