Install & Compatibility
Where this runs
tested against v12.9.86 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.910 runs
dependency_conflict
glibcpy 3.10–3.910 runs
installs and imports cleanly · install 7.0s · import 0.000s · 112MB
109MB installed
● package 109MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
None
✓ This package primarily installs native libraries; direct Python imports for JIT linking functionality are not typically made from `nvidia-nvjitlink-cu12`. Higher-level libraries like `pynvjitlink-cu12`, `numba.cuda`, or `cupy` provide the Python interfaces that utilize the installed `nvJitLink` library.
nvidia-nvjitlink-cu12 is a metapackage for the native library, not a direct Python API library for JIT linking.
Since `nvidia-nvjitlink-cu12` is a metapackage for native CUDA components, its functionality is indirectly exposed through other Python libraries that depend on the `nvJitLink` library. This quickstart demonstrates how to check for the availability of a CUDA-capable GPU and the CUDA runtime environment using `CuPy` and `Numba-CUDA`, which would implicitly rely on `nvJitLink` if their features that use it are invoked. This verifies that the underlying CUDA toolkit, which `nvidia-nvjitlink-cu12` helps install, is correctly set up.
import os
try:
import cupy as cp
print(f"CuPy is installed. CUDA available: {cp.cuda.is_available()}")
if cp.cuda.is_available():
print(f"CuPy CUDA Device Count: {cp.cuda.runtime.getDeviceCount()}")
except ImportError:
print("CuPy not installed. Install with `pip install cupy-cuda12x` to verify CUDA environment.")
try:
import numba.cuda
print(f"Numba CUDA is installed. CUDA available: {numba.cuda.is_available()}")
if numba.cuda.is_available():
print(f"Numba CUDA Device Count: {numba.cuda.count_devices()}")
except ImportError:
print("Numba-CUDA not installed. Install with `pip install numba-cuda` to verify CUDA environment.")
print("\nThis output indicates whether higher-level Python libraries can detect and use the CUDA environment, which includes the nvJitLink library provided by nvidia-nvjitlink-cu12.")
Debug
Known issues
gotchaThis package `nvidia-nvjitlink-cu12` is a *metapackage* for a native C library (`nvJitLink`) and part of the CUDA Toolkit. It does not provide direct Python APIs for JIT linking functionality. Python users typically interact with `nvJitLink` through higher-level libraries like `pynvjitlink-cu12`, `Numba-CUDA`, or `CuPy` that are built to utilize it.fixUse `pynvjitlink-cu12` for direct Python bindings to `nvJitLink`, or rely on libraries like `numba-cuda` or `cupy` which integrate `nvJitLink` functionality.
affects: All versions
breakingThe `nvJitLink` library has compatibility constraints regarding linking objects across different CUDA major versions, especially for LTO-IR (Link Time Optimization Intermediate Representation) inputs. Linking across major versions (e.g., CUDA 11.x with 12.x) may not work for LTO-IR inputs, although it generally works for ELF and PTX inputs.fixEnsure all inputs for JIT LTO (especially LTO-IR) are compiled with a CUDA Toolkit version compatible with the `nvJitLink` library being used. Compatibility is only guaranteed within a major CUDA release for LTO-IR. Update your CUDA Toolkit and associated `nvidia-nvjitlink-cu12` package to match if encountering linking errors.
affects: All versions (relative to CUDA Toolkit versions)
gotchaInstallation of `nvidia-nvjitlink-cu12` from PyPI typically requires a pre-existing CUDA driver, even if it aims to install CUDA runtime components. For full development capabilities, a system-wide CUDA Toolkit installation is often still necessary as these pip wheels primarily provide runtime components and may not include developer tools (like `nvcc`).fixEnsure a compatible NVIDIA GPU driver is installed. For full CUDA development, consider installing the complete NVIDIA CUDA Toolkit alongside these Python packages, or use `cupy-cudaXX[ctk]` for a more complete pip-based CUDA runtime environment with CuPy.
affects: All versions
deprecatedThe `cuLink*` APIs in the CUDA Driver, which provided similar functionality to `nvJitLink`, have been deprecated for use with LTO-IR. `nvJitLink` is the recommended path for JIT LTO.fixMigrate from deprecated `cuLink*` APIs to the `nvJitLink` library for JIT LTO functionality.
affects: CUDA Toolkit versions prior to 12.0
breakingThe `nvidia-nvjitlink-cu12` package on PyPI.org is a placeholder. The actual package is hosted on the NVIDIA Python Package Index and requires specific steps for installation.fixInstall `nvidia-pyindex` first, then `nvidia-nvjitlink-cu12`, or specify the NVIDIA Python Package Index directly using `--extra-index-url https://pypi.nvidia.com` during installation.
affects: All versions
Upgrade
Version history
12.9.86latest on PyPI · released Jun 5, 2025
Audit
Dependencies
CUDA Toolkit (system-wide)requiredProvides the underlying nvJitLink native library; this package is primarily for Python environment integration. Requires a CUDA-capable GPU and NVIDIA driver.
pynvjitlink-cu12optionalProvides direct Python bindings to the nvJitLink library for advanced JIT linking operations.
numba-cuda (>=0.16)optionalLeverages nvJitLink automatically for GPU JIT compilation when available.
cupy (>=14.0)optionalCan utilize nvJitLink for enhanced cuFFT LTO callbacks and other JIT functionalities.