Senior Math Libraries Engineers - Python APIs

Job expired!

Senior Math Libraries Engineer - Python APIs at NVIDIA

Are you a self-motivated expert software engineer passionate about the design and development of Python APIs for math libraries? NVIDIA is seeking talented individuals like you to join our dynamic team, helping to advance the capabilities of our high-performance GPU-accelerated numerical libraries for Python-based frameworks.

Why Python and NVIDIA

In the last decade, Python has emerged as the go-to programming language for professionals in AI, data science, and high-performance computing (HPC), thanks to powerful frameworks like TensorFlow and PyTorch. NVIDIA has played a pivotal role in this transformation by providing GPU-accelerated deep learning frameworks that deliver efficient, high-level programming interfaces. Our optimized implementations allow developers to focus on applications while leveraging cutting-edge GPU acceleration.

As our math libraries continue to grow and extend into new domains, we aim to make these advancements accessible to all developers in the Python ecosystem.

What You'll Be Doing

  • Crafting and developing Python APIs for math libraries (e.g., linear algebra)
  • Prototyping integrations of developed APIs into targeted frameworks
  • Performance tuning, optimization, and benchmarking of numerical software on various CPU and GPU architectures
  • Providing technical leadership and mentorship to library engineers
  • Collaborating closely with product management and other internal and external partners to understand feature and performance requirements
  • Identifying opportunities to improve software performance and user experience

What We Need to See

  • PhD or MSc degree in Computer Science, Applied Math, or a related science or engineering field (or equivalent experience)
  • Excellent Python and C++ programming and software design skills, including functional and performance test design
  • Experience developing Python APIs and Pythonic code
  • Familiarity with one or more of Numpy, CuPy, SciPy, JAX, PyTorch, TensorFlow
  • 6+ years of experience developing, debugging, and optimizing high-performance applications on parallel computing platforms
  • Strong understanding of fundamental numerical methods and computations in science, engineering, or deep learning
  • Proven experience leading and driving software development projects in an agile environment
  • Strong collaboration, communication, and documentation skills

Ways to Stand Out

  • Parallel programming experience with GPUs (CUDA or OpenCL), multi-threading, or MPI
  • Good knowledge of CPU and/or GPU hardware architecture

Why NVIDIA?

Considered one of the technology world's most desirable employers, NVIDIA employs some of the most forward-thinking and hardworking talents globally. If you're creative and take initiative, we want to hear from you!

The base salary range for this role is $180,000 - $339,250, 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. We are committed to fostering a diverse work environment and are proud to be an equal opportunity employer. Diversity is highly valued in our current and future employees, and we do not discriminate (including in our hiring and promotion practices) based on race, religion, color, national origin, gender, gender expression, sexual orientation, age, marital status, veteran status, disability status, or any other characteristic protected by law.