Santa Clara, CA, United States of America
18 hours ago
Senior Math Libraries Engineers - Python APIs

NVIDIA is looking for a self-motivated and specialist software engineer for the design and development of high-performant Python APIs for our math libraries. In the last decade, Python has become the de-facto leading programming language for engineers in AI and data science, and more recently in HPC and scientific computing. 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 to make them accessible to all developers in the Python ecosystem. In this role, you would be joining our dynamic team to help building and improving APIs for NVIDIA Math Libraries supporting the whole ecosystem of Python-based libraries and frameworks.

What you will be doing:

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

prototyping integrations of developed APIs into targeted libraries and frameworks,

conducting performance analysis and benchmarking, performance tuning and optimization, of numerical software on various CPU and GPU architectures,

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

finding opportunities to improve target user experiences.

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.

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

Experience developing Python APIs in pythonic style

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

3+ years experience developing, debugging, and optimizing high-performance applications on parallel computing platforms.

Strong understanding of fundamental numerical methods and computations in science, engineering, and/or deep learning.

Proven experience in working on 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 148,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.

Confirm your E-mail: Send Email