Posted:
8/21/2024, 5:00:00 PM
Location(s):
Massachusetts, United States ⋅ Oregon, United States ⋅ California, United States ⋅ Texas, United States
Experience Level(s):
Senior
Field(s):
AI & Machine Learning ⋅ Software Engineering
Workplace Type:
Remote
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 180,000 USD - 339,250 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.
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