Senior Math Libraries Engineer - Sparse Linear Algebra
SCRAPED
Used Tools & Technologies
Not specified
Required Skills & Competences ?
Software Development @ 4 CI/CD @ 4 Algorithms @ 4 Communication @ 7 Mathematics @ 4 Parallel Programming @ 6 Performance Optimization @ 4 Jira @ 4 Product Management @ 4 Debugging @ 6 Project Management @ 4 QA @ 4 Agile @ 4 CUDA @ 4 GPU @ 4Details
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. Around the world, leading commercial and academic organizations 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 countless others. Our team develops the GPU accelerated libraries and SDKs that help make these possible.
Responsibilities
- Design, implement, and optimize scalable high-performance numerical sparse linear algebra software for existing and future GPU architectures.
- Work with library engineers, QA engineers, and interns on topics ranging from sparse BLAS operations to advanced direct and iterative sparse solvers.
- Collaborate closely with product management and internal/external partners to understand feature and performance requirements and contribute to the technical roadmaps of libraries.
- Improve library quality, performance, and maintainability through re-architecting and establishing innovative software development practices.
- Develop kernels and optimizations for algorithms including sparse BLAS (matrix-vector and matrix-matrix products), direct sparse solvers, iterative sparse solvers, preconditioners, and algebraic multigrid (AMG).
Requirements
- PhD or MSc degree (or equivalent experience) in Computational Science and Engineering, Computer Science, Applied Mathematics, or related science or engineering field is preferred.
- 5+ years of overall experience in developing, debugging, and optimizing high-performance sparse linear algebra software using C++ and parallel programming.
- Experience with CUDA, MPI, OpenMP, OpenACC, pthreads, or equivalent parallel technologies is desirable.
- Strong fundamentals in floating point arithmetic and implementation of sparse linear algebra primitives (e.g., matrix-vector and matrix-matrix products).
- Experience in developing, maintaining, and testing sparse linear algebra libraries.
- Strong collaboration, communication, and documentation habits.
Ways to stand out (Preferred / Nice to have)
- Good knowledge of CPU and/or GPU hardware architecture and low-level GPU performance optimization.
- Familiarity with techniques such as multi-frontal factorizations, iterative solvers, preconditioners, and algebraic multigrid (AMG).
- Experience adopting and advancing software development practices such as CI/CD and project management tools like JIRA.
- Understanding of large-scale computing technologies such as PDE solvers, eigenvalue solvers, and time-domain simulation methods (e.g., CFD, FEA).
- Experience working in a globally distributed and agile organization.
About compensation and benefits
Your base salary will be determined based on your location, experience, and the pay of employees in similar positions. The base salary range is 148,000 USD - 235,750 USD for Level 3, and 184,000 USD - 287,500 USD for Level 4. You will also be eligible for equity and benefits.
Additional information
- Applications for this job will be accepted at least until September 23, 2025.
- NVIDIA is committed to fostering a diverse work environment and is an equal opportunity employer. We do not discriminate 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.