Senior Math Libraries Engineer - Direct Sparse Solvers

NVIDIA NVIDIA · Semiconductors · Santa Clara, CA +1 · Remote

Software engineer to join cuDSS, a CUDA library for direct solvers for sparse linear systems, focusing on designing, implementing, and optimizing solvers for GPU architectures. Requires strong background in numerical software, C++, parallel programming, and sparse linear algebra.

What you'd actually do

  1. Designing, implementing, and optimizing direct sparse solvers for existing and future GPU architectures
  2. Working with library engineers, QA engineers, and interns on all library development aspects from design to implementation and test to release and support
  3. 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
  4. Finding and realizing opportunities to improve library quality, performance, and maintainability for sparse linear algebra libraries through re-architecting and establishing innovative software development practices

Skills

Required

  • C++
  • parallel programming
  • CUDA
  • MPI
  • OpenMP
  • OpenACC
  • pthreads
  • numerical analysis
  • sparse linear algebra

Nice to have

  • direct solvers
  • reordering
  • multi-frontal factorizations
  • supernodal factorizations
  • numerical pivoting strategies
  • iterative refinement
  • CPU hardware architecture
  • GPU hardware architecture
  • low-level GPU performance optimization
  • CI/CD systems
  • JIRA
  • AI agents
  • PDE solvers
  • eigenvalue solvers
  • time-domain simulation methods
  • CFD
  • FEA

What the JD emphasized

  • PhD or MSc degree in Computer Science, Computational Science and Engineering, Applied Mathematics, or related science or engineering field (or equivalent experience)
  • 5+ years of overall experience developing, debugging, and optimizing high-performance numerical software using C++ and parallel programming; ideally using CUDA, MPI, OpenMP, OpenACC, pthreads, or equivalent technologies
  • Strong fundamentals in floating-point arithmetic, numerical analysis, and implementation of sparse linear algebra primitives like matrix-vector and matrix-matrix products and triangular solves
  • Experience in developing, maintaining, and testing scientific computing libraries