Senior Math Libraries Engineer




Multiple Locations (Remote)


Position summary

m and help build and improve HPC GPU and CPU accelerated software libraries integrating latest compiler technologies into our software stack. Libraries like cuFFT, cuFFTMp, MathDx are used by applications everywhere and support NVIDIA's vision and growth.

What you'll be doing:

As a Sr. Engineer specializing on optimizing for single and multi-processor systems you will be responsible for:

  • 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 work with colleagues across teams.

  • 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,

  • Find opportunities to improve library performance and abstractions that allow to re-architect code for reduced maintenance cost.

  • Your projects are by nature complex and will require you to find and explain proposed solutions, exercise leadership, and coordinate with multiple teams to achieve your objectives.

What we need to see:

  • MSc or PhD degree in Computer Science, Applied Math, or related science or engineering field of study or equivalent experience.

  • 3+ years 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 (eg, 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. 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.