NVIDIA cuDSS

NVIDIA cuDSS is a CUDA-X™ library for GPU-accelerated direct sparse solving that enables engineering and scientific applications such as structural analysis, circuit simulation, computational fluid dynamics, electromagnetics, robotics, and power grid optimization. It takes advantage of optimized algorithms to solve a wide range of sparse linear systems, achieving best-in-class performance, and at scale. By using parallel GPU execution and complemented by system-aware execution (GPU and CPU), cuDSS reduces time-to-solution, increases simulation throughput, and enables more design iterations.

DownloadDocumentationSampleForum


How cuDSS Works

cuDSS accelerates the linear algebra solve step of many computationally intensive workflows. As a direct sparse solver, it offers optimized kernels for all three phases of the workflow: analysis (reordering and symbolic factorization), numeric factorization, and solve. This gives you an end-to-end accelerated workflow for a wide range of applications across engineering and scientific simulations.


Key Features

A decorative image of building AI application with NVIDIA NIM APIs

Hybrid Execution Model

cuDSS uses hybrid execution to intelligently utilize GPU and CPU resources for the best performance. Its hybrid memory mode uses CPU memory resources effectively for real-world large workloads, as well as solving phases that benefit from sequential operations or when handling very small matrices.

A decorative image of building AI application with NVIDIA NIM APIs

Scalable Deployment

cuDSS offers out-of-the-box scalability, from single-GPU workstations to multi-GPU, multi-node deployment environments.

A decorative image of building AI application with NVIDIA NIM APIs

Composable and Extensible APIs

cuDSS offers a set of standard, composable, extensible, and developer-friendly APIs. While they’re natively C and compatible with C++, pythonic interfaces are available through nvmath-python, making it easy to seamlessly integrate into existing simulation codes. These APIs support both single and batched (uniform and non-uniform) calculations, enabling maximizing GPU utilization and extending the performance benefits to beyond large-scale simulations. 

A decorative image of building AI application with NVIDIA NIM APIs

Numerical Robustness

cuDSS provides numerical robust solutions on a wide range of algorithms, making it ideal for real-world simulation workflows that push solvers to their limits.


Get Started With cuDSS

Access the library, documentation, samples, and feedback resources. 

A decorative image of building AI application with NVIDIA NIM APIs

Install and Setup Guide

Set up your environment, install cuDSS, and run your first cuDSS solver routine. 

Explore Documentation
A decorative image of building AI application with NVIDIA NIM APIs

Workflow Guide

Get started with a multi-stage approach to solve large sparse matrices using cuDSS C API.

Explore Step-by-Step Workflow
A decorative image of building AI application with NVIDIA NIM APIs

Get Started With Sample Code 

Explore cuDSS examples that show how to set up an environment, use hybrid execution, and accelerate end-to-end workflows.  

View Samples

Quick Install with pip conda

pip install nvidia-cudss-cu13: for CUDA Toolkit 13.x

pip install nvidia-cudss-cu12: for CUDA Toolkit 12.x

Quick Install with conda pip

conda install conda-forge::libcudss

for the runtime

conda install conda-forge::libcudss-dev

for development

Performance

cuDSS delivers best-in-class performance across all phases of sparse direct solve workflow, complemented by a system-aware execution paradigm. This enables increased simulation throughput, faster time-to-solution, and solutions for a wide variety of sparse matrices.

Analysis Phase

Click to Enlarge

Factorization Phase

Click to Enlarge

Solve Phase

Click to Enlarge

Test Configuration:

GPU: NVIDIA B200 (192 GB HBM3e)
CPU/Host: Intel(R) Xeon(R) 6776P for MKL; INTEL(R) XEON(R) PLATINUM 8570 for cuDSS.
cuDSS version 1.0
MKL version 2026.1.0

List of 254 SuiteSparse matrices used for this benchmark: 2cubes_sphere, 3D_51448_3D, 3Dspectralwave, 3Dspectralwave2, af_0_k101, af_shell1, af_shell10, analytics, apache2, ASIC_320k, ASIC_320ks, ASIC_680k, ASIC_680ks, atmosmodd, atmosmodl, audikw_1, av41092, barrier2-1, barrier2-10, bbmat, bcsstk35, bcsstk36, bcsstk37, bcsstk39, BenElechi1, bmw3_2, bmw7st_1, bmwcra_1, bone010, boneS01, boneS10, boyd1, boyd2, Bump_2911, bundle_adj, c-73, c-big, cant, case39, cfd1, cfd2, Chebyshev4, Chevron3, Chevron4, circuit5M, circuit5M_dc, CO, conf5_4-8x8-05, consph, cop20k_A, CoupCons3D, crankseg_1, crankseg_2, crashbasis, crystk03, ct20stif, Cube_Coup_dt0, CurlCurl_1, CurlCurl_2, CurlCurl_3, CurlCurl_4, d_pretok, darcy003, dawson5, denormal, dgreen, dielFilterV2clx, dielFilterV2real, dielFilterV3clx, dielFilterV3real, Dubcova2, Dubcova3, ecology1, ecology2, Emilia_923, ex11, exdata_1, F1, F2, Fault_639, FEM_3D_thermal2, fem_filter, fem_hifreq_circuit, filter3D, Flan_1565, Freescale1, Freescale2, FullChip, G3_circuit, Ga10As10H30, Ga19As19H42, Ga3As3H12, Ga41As41H72, GaAsH6, gas_sensor, Ge87H76, Ge99H100, Geo_1438, Goodwin_054, Goodwin_071, Goodwin_095, Goodwin_127, gsm_106857, gyro_k, H2O, Hamrle3, heart1, helm2d03, hood, Hook_1498, hvdc2, iChem_Jacobian, ifiss_mat, imagesensor, inline_1, invextr1_new, kim2, kkt_power, laminar_duct3D, largebasis, ldoor, lhr71, li, Lin, Long_Coup_dt0, m_t1, mac_econ_fwd500, matrix_9, matrix-new_3, mc2depi, memchip, mixtank_new, ML_Geer, ML_Laplace, mono_500Hz, mosfet2, msc10848, msc23052, msdoor, nasasrb, nd12k, nd24k, nd3k, nd6k, nemeth21, nemeth22, nemeth23, nemeth24, nemeth25, nemeth26, nlpkkt120, nlpkkt80, ns3Da, nv1, nv2, nxp1, offshore, ohne2, oilpan, olafu, para-10, para-4, parabolic_fem, PFlow_742, poisson3Db, power197k, power9, PR02R, pre2, pwtk, qa8fk, radiation, raefsky3, raefsky4, Raj1, rajat21, rajat24, rajat29, rajat30, rajat31, rim, RM07R, rma10, s3dkq4m2, s3dkt3m2, Serena, ship_001, ship_003, shipsec1, shipsec5, shipsec8, Si34H36, Si41Ge41H72, Si87H76, SiO, SiO2, sme3Db, sme3Dc, smt, sparsine, ss, std1_Jac2, std1_Jac3, StocF-1465, stomach, t2em, t3dh_a, TEM152078, TEM181302, test1, thermal2, thermomech_dK, thermomech_dM, thread, tmt_sym, tmt_unsym, torso1, torso2, torso3, Transport, TSC_OPF_1047, TSOPF_FS_b162_c3, TSOPF_FS_b162_c4, TSOPF_FS_b300, TSOPF_FS_b300_c2, TSOPF_FS_b300_c3, TSOPF_FS_b39_c19, TSOPF_FS_b39_c30, TSOPF_RS_b2052_c1, TSOPF_RS_b2383, TSOPF_RS_b300_c1, TSOPF_RS_b300_c2, TSOPF_RS_b300_c3, TSOPF_RS_b39_c30, TSOPF_RS_b678_c1, TSOPF_RS_b678_c2, turon_m, twotone, vanbody, vas_stokes_1M, vas_stokes_2M, xqycbbhz, kuuftcfs, zyuvkfde, lmnnnwyf, obhzqimn, orlyjcok, tofucdmg, x104, xenon1, xenon2, Zd_Jac2, Zd_Jac3, Zd_Jac6.


cuDSS Learning Library

Tech Blog

Solving Large-Scale Sparse Systems

Learn about strategies like hybrid memory-mode and scaling deployment for solving large-scale sparse systems using cuDSS.

Video

Accelerating Computational Engineering 

Explore how cuDSS and other CUDA-X libraries are enabling industry developers in accelerating engineering and scientific workflows in Computer-Adided Engineering and Semiconductor Design and Manufacturing. 

Tech Blog

Industrial Process Simulation 

Learn how industry leaders like Honeywell are integrating cuDSS into their solutions for industrial process applications like performance monitoring, digital twins, and operator training simulators. 

Tech Blog

Atomic-Level Material Simulation  

Learn how NVIDIA technology is enabling Applied Materials to accelerate semiconductor innovation..

Blog

Computational Fluid Dynamics

Accelerate sparse systems generated by fluid-flow, heat-transfer, aerodynamics, and multiphysics simulations. Explore the computational fluid dynamics (CFD) use case page. 

Tech Blog

Power Grid Optimization

Achieve significant performance improvements for large-scale non-linear optimization problems using cuDSS. Learn how researchers at MIT, MINES Paris-PSL, and ANL are solving optimization problems at-scale that were never before possible.


OnDemand Videos


More Resources

A decorative image representing Developer Community

Sign Up for the Developer Newsletter

img-alt-text

Get Training and Certification

A decorative image representing Inception for Startups

Join the NVIDIA Developer Program


Ethical AI

    NVIDIA believes Trustworthy AI is a shared responsibility and we have established policies and practices to enable development for a wide array of AI applications. When AI is downloaded or used in accordance with our terms of service, you should work with your supporting model team to ensure this model meets requirements for the relevant industry and use case and addresses unforeseen product misuse.

    For more detailed information on ethical considerations for this model, see the Model Card++ Explainability, Bias, Safety & Security, and Privacy Subcards. Please report security vulnerabilities or NVIDIA AI concerns here.

    Get started with cuDSS today.

    Download