Commit 1bcb2913 authored by Emily's avatar Emily
Browse files

cudaPackages_{12_0,12_1,12_2,12_3,12_4,12_5}: drop

parent c32c0a55
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -12,11 +12,11 @@ Nixpkgs provides a number of CUDA package sets, each based on a different CUDA r
- `cudaPackages_x`: A major-versioned alias to the major-minor-versioned CUDA package set with the latest widely supported major CUDA release.
- `cudaPackages`: An unversioned alias to the major-versioned alias for the latest widely supported CUDA release. The package set referenced by this alias is also referred to as the "default" CUDA package set.

It is recommended to use the unversioned `cudaPackages` attribute. While versioned package sets are available (e.g., `cudaPackages_12_2`), they are periodically removed.
It is recommended to use the unversioned `cudaPackages` attribute. While versioned package sets are available (e.g., `cudaPackages_12_8`), they are periodically removed.

Here are two examples to illustrate the naming conventions:

- If `cudaPackages_12_8` is the latest release in the 12.x series, but core libraries like OpenCV or ONNX Runtime fail to build with it, `cudaPackages_12` may alias `cudaPackages_12_6` instead of `cudaPackages_12_8`.
- If `cudaPackages_12_9` is the latest release in the 12.x series, but core libraries like OpenCV or ONNX Runtime fail to build with it, `cudaPackages_12` may alias `cudaPackages_12_8` instead of `cudaPackages_12_9`.
- If `cudaPackages_13_1` is the latest release, but core libraries like PyTorch or Torch Vision fail to build with it, `cudaPackages` may alias `cudaPackages_12` instead of `cudaPackages_13`.

All CUDA package sets include common CUDA packages like `libcublas`, `cudnn`, `tensorrt`, and `nccl`.
@@ -146,7 +146,7 @@ These settings ensure that the CUDA setup hooks function as intended.
When using `callPackage`, you can choose to pass in a different variant, e.g. when a package requires a specific version of CUDA:

```nix
{ mypkg = callPackage { cudaPackages = cudaPackages_12_2; }; }
{ mypkg = callPackage { cudaPackages = cudaPackages_12_6; }; }
```

::: {.caution}
+1 −1
Original line number Diff line number Diff line
@@ -69,7 +69,7 @@

- `mongodb-6_0` was removed as it is end of life as of 2025-07-31.

- CUDA versions below 12.0 have been removed, as they are unmaintained upstream and depend on end‐of‐life compilers.
- CUDA versions below 12.6 have been removed, as they are unmaintained upstream and depend on end‐of‐life compilers.

- `vmware-horizon-client` was renamed to `omnissa-horizon-client`, following [VMware's sale of their end-user business to Omnissa](https://www.omnissa.com/insights/introducing-omnissa-the-former-vmware-end-user-computing-business/). The binary has been renamed from `vmware-view` to `horizon-client`.

+0 −10
Original line number Diff line number Diff line
@@ -142,16 +142,6 @@
          dontDefaultAfterCudaMajorMinorVersion = "12.5";
        };

        # Jetson AGX Xavier, Drive AGX Pegasus, Xavier NX
        "7.2" = {
          archName = "Volta";
          minCudaMajorMinorVersion = "10.0";
          # Note: without `cuda_compat`, maxCudaMajorMinorVersion is 11.8
          # https://docs.nvidia.com/cuda/cuda-for-tegra-appnote/index.html#deployment-considerations-for-cuda-upgrade-package
          maxCudaMajorMinorVersion = "12.2";
          isJetson = true;
        };

        # GTX/RTX Turing – GTX 1660 Ti, RTX 2060, RTX 2070, RTX 2080, Titan RTX, Quadro RTX 4000,
        # Quadro RTX 5000, Quadro RTX 6000, Quadro RTX 8000, Quadro T1000/T2000, Tesla T4
        "7.5" = {
+1 −81
Original line number Diff line number Diff line
@@ -28,87 +28,7 @@
      ```
  */
  nvccCompatibilities = {
    # Added support for GCC 12
    # https://docs.nvidia.com/cuda/archive/12.0.1/cuda-installation-guide-linux/index.html#system-requirements
    "12.0" = {
      clang = {
        maxMajorVersion = "14";
        minMajorVersion = "7";
      };
      gcc = {
        maxMajorVersion = "12";
        minMajorVersion = "6";
      };
    };

    # Added support for Clang 15
    # https://docs.nvidia.com/cuda/archive/12.1.1/cuda-toolkit-release-notes/index.html#cuda-compilers-new-features
    "12.1" = {
      clang = {
        maxMajorVersion = "15";
        minMajorVersion = "7";
      };
      gcc = {
        maxMajorVersion = "12";
        minMajorVersion = "6";
      };
    };

    # Added support for Clang 16
    # https://docs.nvidia.com/cuda/archive/12.2.2/cuda-installation-guide-linux/index.html#host-compiler-support-policy
    "12.2" = {
      clang = {
        maxMajorVersion = "16";
        minMajorVersion = "7";
      };
      gcc = {
        maxMajorVersion = "12";
        minMajorVersion = "6";
      };
    };

    # No changes from 12.2 to 12.3
    # https://docs.nvidia.com/cuda/archive/12.3.2/cuda-installation-guide-linux/index.html#host-compiler-support-policy
    "12.3" = {
      clang = {
        maxMajorVersion = "16";
        minMajorVersion = "7";
      };
      gcc = {
        maxMajorVersion = "12";
        minMajorVersion = "6";
      };
    };

    # Maximum Clang version is 17
    # Minimum GCC version is still 6, but all versions prior to GCC 7.3 are deprecated.
    # Maximum GCC version is 13.2
    # https://docs.nvidia.com/cuda/archive/12.4.1/cuda-installation-guide-linux/index.html#host-compiler-support-policy
    "12.4" = {
      clang = {
        maxMajorVersion = "17";
        minMajorVersion = "7";
      };
      gcc = {
        maxMajorVersion = "13";
        minMajorVersion = "6";
      };
    };

    # No changes from 12.4 to 12.5
    # https://docs.nvidia.com/cuda/archive/12.5.1/cuda-installation-guide-linux/index.html#host-compiler-support-policy
    "12.5" = {
      clang = {
        maxMajorVersion = "17";
        minMajorVersion = "7";
      };
      gcc = {
        maxMajorVersion = "13";
        minMajorVersion = "6";
      };
    };

    # Maximum Clang version is 18
    # Our baseline
    # https://docs.nvidia.com/cuda/archive/12.6.0/cuda-installation-guide-linux/index.html#host-compiler-support-policy
    "12.6" = {
      clang = {
+3 −5
Original line number Diff line number Diff line
@@ -13,10 +13,8 @@
prevAttrs: {
  buildInputs =
    prevAttrs.buildInputs or [ ]
    ++ [ gmp ]
    # Additional dependencies for CUDA 12.5 and later, which
    # support multiple Python versions.
    ++ lib.lists.optionals (cudaAtLeast "12.5") [
    ++ [
      gmp
      libxcrypt-legacy
      ncurses6
      python310
@@ -30,7 +28,7 @@ prevAttrs: {
    prevAttrs.installPhase or ""
    # Python 3.8 is not in nixpkgs anymore, delete Python 3.8 cuda-gdb support
    # to avoid autopatchelf failing to find libpython3.8.so.
    + lib.optionalString (cudaAtLeast "12.5") ''
    + ''
      find $bin -name '*python3.8*' -delete
      find $bin -name '*python3.9*' -delete
    '';
Loading