Senior Math Libraries Engineer - Sparse Linear Algebra

at Nvidia

📍 Santa Clara, United States

$180,000-339,200 per year

SENIOR
✅ Hybrid

SCRAPED

Used Tools & Technologies

Not specified

Required Skills & Competences ?

Software Development @ 4 Python @ 4 Algorithms @ 4 Machine Learning @ 4 Leadership @ 4 Communication @ 4 Product Management @ 4 Debugging @ 6 Technical Leadership @ 4 Agile @ 4

Details

We are looking for a software engineer for our Sparse Linear Algebra team which develops key technologies and libraries such as cuDSS, cuSPARSE and cuSPARSELt, for scientific computing and deep learning software stacks targeting a range of processors from edge computing to supercomputers. These high-performance libraries provide accelerated linear algebra functions, such as: matrix products, direct and iterative solvers; and are consumed by industrial and research organizations with applications ranging from gaming and Machine Learning to autonomous driving and chip modeling. Does the idea of being at the heart of these projects and applying your knowledge to develop and optimize algorithms which make an impact around the world excite you? If yes, then come and join our team!

Responsibilities

  • Developing and optimizing scalable high-performance numerical sparse linear algebra software such as direct and iterative sparse solvers.
  • Providing technical leadership and guidance 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 library performance and reduce code maintenance overhead through re-architecting.

These issues are by nature complex and will require you to find and explain solutions, exercise leadership, and coordinate with multiple teams to achieve your objectives.

Requirements

  • PhD or MSc’s degree in Computational Science, Computer Science, Applied Math, or related science or engineering field of study is preferred (or equivalent experience).
  • 5+ years experience developing, debugging, and optimizing high-performance parallel numerical sparse linear algebra applications on modern computing platforms, preferably with GPU acceleration using CUDA.
  • Excellent C++ programming and software design skills, including functional and performance tests design.
  • Deep understanding of numerical methods, especially, sparse linear algebra algorithms (e.g., multi-frontal factorization, algebraic multigrid (AMG), etc.).
  • Proven experience in leading and completing software development projects.
  • Excellent collaboration, communication, and documentation habits.

Ways to stand out from the crowd:

  • Experience developing libraries consumed by many users.
  • Experience developing distributed memory parallel computing software with MPI or a PGAS library (e.g., NVSHMEM).
  • Good knowledge of compute and network hardware (e.g., Infiniband) architecture.
  • Experience working in an agile software development environment.
  • A scripting language, preferably Python.

NVIDIA’s invention of the GPU in 1999 fueled the growth of the PC gaming market, redefined modern computer graphics, and revolutionized parallel computing for science and engineering. More recently, GPU deep learning ignited modern AI — the next era of computing — with the GPU acting as the brain of computers, robots, and self-driving cars that can perceive and understand the world. Today, we are increasingly known as “the AI computing company.” We’re looking to grow our company and build our teams with the smartest people in the world.