Skip to main content

Senior Math Libraries Engineer - Python APIs

Senior Math Libraries Engineer - Python APIs
Prodigy Game
9 months 3 weeks ago

NVIDIA Software Engineer Position

NVIDIA is looking for a self-motivated and specialist software engineer for the design and development of Python APIs for math libraries. In the last decade, Python has become the de-facto programming language for engineers in AI, data science, and HPC through popular frameworks such as TensorFlow and PyTorch. NVIDIA has been at the forefront of providing GPU accelerated Deep Learning frameworks. These frameworks provide an efficient high-level programming interface allowing their users to focus on their application while providing highly optimized implementations. As the capabilities of our math libraries grow and extend to new domains we would like make them accessible to the all developers in the Python ecosystem. In this role, you would be joining our dynamic team to help build and improve APIs for high performance GPU accelerated numerical libraries supporting Python based frameworks in various ecosystems.

What you will be doing:

  • crafting and developing Python APIs for math libraries (e.g., linear algebra),

  • prototype 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 working with you on projects,

  • working closely with product management and other internal and external partners to understand feature and performance requirements and contribute to the technical roadmaps of libraries,

  • finding opportunities to improve software performance and user experience.

What we need to see:

  • PhD or MSc degree in Computer Science, Applied Math, or related science or engineering field is preferred or equivalent experience. Comparable relevant work experience will also be considered.

  • Excellent Python and C++ programming and software design skills, including functional and performance tests design.

  • Experience developing Python APIs and Pythonic style

  • Experience using one or more of Numpy, CuPy, SciPy, JAX, PyTorch, TensorFlow.

  • 6+ years 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 in leading and driving software development projects in an agile environment.

  • Strong collaboration, communication, and documentation habits.

Ways to stand out from the crowd:

  • Parallel programming experience with GPUs (CUDA or OpenCL), multi-threading, or MPI.

  • Good knowledge of CPU and/or GPU hardware architecture.

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 in the world working for us. If you're creative and have initiative, we want to hear from you! The base salary range is 176,000 USD - 333,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's Commitment to Diversity and Equal Opportunity

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.

Expertise level

Key skills

Similar Jobs in United States

Similar Jobs in