{"id":787,"library":"nvidia-cusolver-cu12","title":"NVIDIA cuSOLVER (CUDA 12)","description":"The `nvidia-cusolver-cu12` package provides the native runtime libraries for NVIDIA's cuSOLVER, a collection of GPU-accelerated dense and sparse direct linear solvers and Eigen solvers. It is part of the NVIDIA CUDA Toolkit and is designed to be consumed by higher-level Python libraries such as CuPy, PyTorch, and TensorFlow for dynamically loading CUDA libraries. The current version is 11.7.5.82, and its release cadence typically follows major and minor updates of the CUDA Toolkit.","status":"active","version":"11.7.5.82","language":"python","source_language":"en","source_url":"https://developer.nvidia.com/cusolver","tags":["cuda","nvidia","runtime","machine learning","deep learning","mathematics","linear algebra","gpu"],"install":[{"cmd":"pip install nvidia-cusolver-cu12","lang":"bash","label":"Install latest stable version"}],"dependencies":[{"reason":"cuSOLVER functionality often relies on cuBLAS for basic linear algebra operations.","package":"nvidia-cublas-cu12","optional":false},{"reason":"cuSOLVER includes sparse solvers, which may depend on cuSPARSE.","package":"nvidia-cusparse-cu12","optional":false},{"reason":"Provides NVIDIA JIT LTO (Link-Time Optimization) library, a common dependency for CUDA runtime components.","package":"nvidia-nvjitlink-cu12","optional":false},{"reason":"Native CUDA libraries require a compatible NVIDIA GPU and an installed NVIDIA driver.","package":"NVIDIA GPU and driver","optional":false},{"reason":"While this package provides runtime libraries, a full CUDA Toolkit installation is often required for development or for specific dependent libraries.","package":"CUDA Toolkit","optional":true}],"imports":[{"note":"The `nvidia-cusolver-cu12` package is not designed for direct Python import of symbols. Instead, it serves as a runtime dependency, providing the underlying CUDA binaries that other Python libraries (like CuPy, PyTorch, or TensorFlow) dynamically load and link against to offer CUDA-accelerated functionalities.","symbol":"N/A","correct":"This package provides native shared libraries (e.g., .so, .dll) for cuSOLVER."}],"quickstart":{"code":"import cupy as cp\n\n# This example uses CuPy, which dynamically loads cuSOLVER routines\n# via packages like nvidia-cusolver-cu12 if available.\n\n# Create a random positive definite matrix A and a vector b on the GPU\nA = cp.random.rand(5, 5, dtype=cp.float64)\nA = A @ A.T + cp.identity(5) # Make it symmetric positive definite\nb = cp.random.rand(5, dtype=cp.float64)\n\n# Solve the linear system Ax = b using CuPy's linalg.solve\n# CuPy internally dispatches to cuSOLVER routines for this operation.\nx = cp.linalg.solve(A, b)\n\nprint(\"Matrix A:\\n\", A)\nprint(\"Vector b:\\n\", b)\nprint(\"Solution x:\\n\", x)\n\n# Verify the solution (A @ x - b should be close to zero)\nprint(\"Verification (A @ x - b):\\n\", A @ x - b)\nprint(\"Norm of residual (should be close to zero):\", cp.linalg.norm(A @ x - b))","lang":"python","description":"This quickstart demonstrates how a higher-level library, CuPy, leverages the underlying cuSOLVER libraries provided by `nvidia-cusolver-cu12`. When installed, `cupy.linalg.solve` and other linear algebra functions can utilize cuSOLVER for GPU-accelerated computations. Ensure CuPy is also installed (`pip install cupy-cuda12x`)."},"warnings":[{"fix":"Use a Python library that integrates with cuSOLVER (e.g., CuPy, PyTorch) and ensure `nvidia-cusolver-cu12` is installed in the environment.","message":"The `nvidia-cusolver-cu12` package primarily provides native shared libraries and is not intended for direct Python import and use of symbols. Its functionality is exposed indirectly through other high-level Python libraries like CuPy, PyTorch, or TensorFlow.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Ensure your NVIDIA GPU, driver, CUDA Toolkit installation, and all `nvidia-*` Python packages (e.g., `nvidia-cublas-cu12`, `nvidia-cuda-runtime-cu12`) are consistent with the `cu12` version suffix. Major CUDA version changes (e.g., `cu11` to `cu12`) often require a complete reinstallation of all CUDA-related components and potentially recompilation of CUDA-dependent code.","message":"The `cu12` suffix in the package name signifies compatibility with CUDA Toolkit 12.x. Installing this package with an incompatible CUDA Toolkit, GPU driver, or older GPU architecture can lead to runtime errors or performance issues.","severity":"breaking","affected_versions":"All versions"},{"fix":"When installing multiple `nvidia-*` packages or libraries that depend on them, explicitly pin exact versions in your `requirements.txt` or install order. For example, `pip install 'nvidia-cusolver-cu12==11.7.5.82'`.","message":"Pip's dependency resolver can struggle with the complex interdependencies among `nvidia-*` packages, leading to slow resolution times or conflicts.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Refer to the NVIDIA CUDA Toolkit documentation for your specific CUDA version to identify deprecated APIs and their recommended replacements. Ensure your application code is updated to use current cuSOLVER APIs.","message":"Certain cuSOLVER APIs, particularly within the `cuSOLVERMg` (multi-GPU) and some `cuSOLVERSp` (sparse) modules, have been deprecated in recent CUDA Toolkit versions.","severity":"deprecated","affected_versions":"Specific APIs in CUDA Toolkit 12.x and newer"},{"fix":"Before installing `nvidia-*` packages, install `nvidia-pyindex` to configure pip to use the NVIDIA Python Package Index. The installation command should typically look like: `pip install nvidia-pyindex && pip install <your-nvidia-package>`.","message":"Many `nvidia-*` Python packages are hosted on the NVIDIA Python Package Index, not directly on PyPI.org. Attempting to install them without configuring pip to use the NVIDIA index will result in a `RuntimeError` indicating the package is a placeholder.","severity":"breaking","affected_versions":"All versions of `nvidia-*` packages distributed via NVIDIA Python Package Index."}],"env_vars":null,"search_vec":"'11.7.5.82':70 '12':4 'acceler':25 'algebra':94 'cadenc':74 'collect':21 'consum':48 'cu12':9 'cuda':3,41,64,83,85 'cupi':57 'current':67 'cusolv':2,8,19 'deep':90 'dens':26 'design':45 'direct':29 'dynam':62 'eigen':33 'follow':76 'gpu':24,95 'gpu-acceler':23 'higher':51 'higher-level':50 'learn':89,91 'level':52 'librari':15,54,65 'linear':30,93 'load':63 'machin':88 'major':77 'mathemat':92 'minor':79 'nativ':13 'nvidia':1,7,17,40,86 'nvidia-cusolver-cu12':6 'packag':10 'part':37 'provid':11 'python':53 'pytorch':58 'releas':73 'runtim':14,87 'solver':31,34 'spars':28 'tensorflow':60 'toolkit':42,84 'typic':75 'updat':80 'version':68","created_at":"2026-03-29T04:21:40.844189+00:00","updated_at":"2026-04-16T17:28:29.096021+00:00","problems":{"verify_error":"no import statement found"},"ecosystem":"pypi","meta_description":null,"install_score":0,"quickstart_score":0,"quickstart_tag":"stale","pypi_latest":"11.7.5.82","cli_name":"","cli_version":null,"type":"library","homepage":"https://developer.nvidia.com/cuda-zone","github":null,"docs":null,"changelog":null,"pypi":"https://pypi.org/project/nvidia-cusolver-cu12/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["ai-ml"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-06-28","last_verified":"2026-08-27","next_check":"2026-07-05","install_tag":"stale"}}