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.
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
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.
Scalable Deployment
cuDSS offers out-of-the-box scalability, from single-GPU workstations to multi-GPU, multi-node deployment environments.
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.
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.
Install and Setup Guide
Set up your environment, install cuDSS, and run your first cuDSS solver routine.
Workflow Guide
Get started with a multi-stage approach to solve large sparse matrices using cuDSS C API.
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.
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
OnDemand Videos
More Resources
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.

