Jobs · Engineering · California

Senior Math Libraries Engineer - Sparse Linear Algebra

NVIDIA · Santa Clara, CA · 3 mo ago
EngineeringFull-time

About the role

We are looking for software engineers to join our development efforts in the area of sparse linear algebra kernels for high-performance libraries such as cuSPARSE and cuDSS. Leading commercial and academic organizations worldwide are revolutionizing AI, data analytics, and scientific and engineering simulations using data centers powered by GPUs and high-performance linear algebra libraries. Applications of these technologies include computer-aided engineering (CAE), electronic design automation (EDA), quantum chemistry, autonomous vehicles, LLMs, and many others. Our team develops the GPU-accelerated libraries and SDKs that make these advancements possible.

In this role, you will collaborate with other developers to design, develop, and optimize kernels for algorithms including basic sparse BLAS operations (e.g., matrix-vector and matrix-matrix products), direct sparse solvers, iterative sparse solvers, preconditioners, and algebraic multigrid (AMG). Ideal candidates will have experience developing accelerated computing kernels and a passion for advancing the state-of-the-art in accelerated computing domains.

Responsibilities

  • Design, implement, and optimize scalable high-performance numerical sparse linear algebra software for existing and future GPU architectures
  • Collaborate with library engineers, QA engineers, and interns on topics ranging from sparse BLAS operations to advanced direct and iterative sparse solvers
  • 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 and realize opportunities to improve library quality, performance, and maintainability through re-architecting and establishing innovative software development practices

Requirements

  • PhD or MSc degree (or equivalent experience) in Computational Science and Engineering, Computer Science, Applied Mathematics, or a related science or engineering field (preferred)
  • 5+ years of overall experience in developing, debugging, and optimizing high-performance sparse linear algebra software using C++ and parallel programming (e.g., CUDA, MPI, OpenMP, OpenACC, pthreads, or equivalent technologies)
  • Strong fundamentals in floating-point arithmetic and implementation of sparse linear algebra primitives like matrix-vector and matrix-matrix products
  • Experience in developing, maintaining, and testing sparse linear algebra libraries
  • Strong collaboration, communication, and documentation habits

Skills

  • Good knowledge of CPU and/or GPU hardware architecture and low-level GPU performance optimization
  • Familiarity with technologies such as multi-frontal factorizations, iterative solvers, preconditioners, and algebraic multigrid
  • Experience with adopting and advancing software development practices such as CI/CD systems and project management tools (e.g., JIRA)
  • Understanding of large-scale computing technologies such as PDE solvers, eigenvalue solvers, and time-domain simulation methods (e.g., CFD, FEA)
  • Working experience in a globally distributed and agile organization

Pay

Base salary ranges: $152,000–$218,500 USD for Level 3, and $184,000–$287,500 USD for Level 4. You will also be eligible for equity and benefits.

Similar jobs