Senior Math Libraries Engineer
at Nvidia
📍 Santa Clara, United States
$148,000-276,000 per year
SCRAPED
Used Tools & Technologies
Not specified
Required Skills & Competences ?
Software Development @ 4 Python @ 4 Algorithms @ 4 Communication @ 4 Product Management @ 4 Debugging @ 6 CUDA @ 6Details
NVIDIA is now looking for a self-motivated and expert software engineer for its Fast Fourier Transform libraries. Around the world, leading commercial and academic organizations are revolutionizing AI, scientific and engineering simulations, and data analytics, using data centers powered by GPUs. Applications of these technologies are in healthcare, VR, deep learning, autonomous vehicles and countless others. The demand to solve bigger and higher fidelity problems faster in AI and HPC has led to the development of the NVIDIA DGX systems as well as the world's fastest Supercomputers being powered by NVIDIA GPU, enabling unprecedented AI and scientific research with extraordinary compute capabilities.
Join our multidisciplinary team and help build and improve HPC GPU and CPU accelerated software libraries integrating the latest compiler technologies into our software stack. Libraries like cuFFT, cuFFTMp, MathDx are used by applications everywhere and support NVIDIA's vision and growth.
Responsibilities
- Developing scalable HPC math library software using modern tools and languages for various numerical methods, including but not limited to Fourier Transforms.
- Performance tuning, optimization, and benchmarking of algorithms on various architectures.
- Lead various projects to completion and collaborate with colleagues across teams.
- Work closely with product management and other internal and external partners to understand feature and performance requirements and contribute to the technical roadmaps of libraries.
- Identify opportunities to improve library performance and abstractions that allow re-architecting code for reduced maintenance costs.
- Communicate proposed solutions effectively and coordinate with multiple teams to achieve objectives.
Requirements
- MSc or PhD degree in Computer Science, Applied Math, or related science or engineering field of study or equivalent experience.
- 3+ years of experience developing, debugging, and optimizing high-performance parallel numerical applications on modern computing platforms, preferably with GPU acceleration using CUDA.
- Excellent object-oriented software design and C++ programming skills, including functional and performance tests design.
- Deep understanding of fundamental signal processing, linear algebra, and computations in science, engineering, or deep learning.
- Proven experience in leading and completing software development projects.
- Excellent collaboration, communication, and documentation habits.
Ways to stand out from the crowd:
- Exposure to functional languages, C++ template metaprogramming, MLIR, or LLVM internals.
- Knowledge of Python language and ecosystem.
- Good knowledge of compute and communication hardware architecture.
- Experience developing distributed memory parallel computing software with MPI or a PGAS library (e.g., NVSHMEM).
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 autonomous, we want to hear from you!
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.