nixpkgs/pkgs/development/cuda-modules
2023-12-07 20:08:41 +00:00
..
cuda cudaPackages_12_3: init at 12.3.0 2023-12-07 16:45:56 +00:00
cudatoolkit cudaPackages_12_3: init at 12.3.0 2023-12-07 16:45:56 +00:00
cudnn cudaPackages: move derivations to cuda-modules & support aarch64 2023-12-07 16:45:54 +00:00
cutensor cudaPackages: move derivations to cuda-modules & support aarch64 2023-12-07 16:45:54 +00:00
generic-builders cuda-modules: tidy generic-builder/manifest installPhase and postPatchelf 2023-12-07 20:08:41 +00:00
modules cudaPackages: add docs 2023-12-07 16:45:56 +00:00
nccl cudaPackages: move derivations to cuda-modules & support aarch64 2023-12-07 16:45:54 +00:00
nccl-tests cudaPackages: move derivations to cuda-modules & support aarch64 2023-12-07 16:45:54 +00:00
saxpy cudaPackages: move derivations to cuda-modules & support aarch64 2023-12-07 16:45:54 +00:00
setup-hooks cudaPackages: move derivations to cuda-modules & support aarch64 2023-12-07 16:45:54 +00:00
tensorrt cudaPackages: move derivations to cuda-modules & support aarch64 2023-12-07 16:45:54 +00:00
backend-stdenv.nix cudaPackages: move derivations to cuda-modules & support aarch64 2023-12-07 16:45:54 +00:00
flags.nix cudaPackages: move derivations to cuda-modules & support aarch64 2023-12-07 16:45:54 +00:00
gpus.nix cudaPackages: move derivations to cuda-modules & support aarch64 2023-12-07 16:45:54 +00:00
nvcc-compatibilities.nix cudaPackages_12_3: init at 12.3.0 2023-12-07 16:45:56 +00:00
README.md cudaPackages: add docs 2023-12-07 16:45:56 +00:00

cuda-modules

Note

This document is meant to help CUDA maintainers understand the structure of the CUDA packages in Nixpkgs. It is not meant to be a user-facing document. For a user-facing document, see the CUDA section of the manual.

The files in this directory are added (in some way) to the cudaPackages package set by cuda-packages.nix.

Top-level files

Top-level nix files are included in the initial creation of the cudaPackages scope. These are typically required for the creation of the finalized cudaPackages scope:

  • backend-stdenv.nix: Standard environment for CUDA packages.
  • flags.nix: Flags set, or consumed by, NVCC in order to build packages.
  • gpus.nix: A list of supported NVIDIA GPUs.
  • nvcc-compatibilities.nix: NVCC releases and the version range of GCC/Clang they support.

Top-level directories

  • cuda: CUDA redistributables! Provides extension to cudaPackages scope.
  • cudatoolkit: monolothic CUDA Toolkit run-file installer. Provides extension to cudaPackages scope.
  • cudnn: NVIDIA cuDNN library.
  • cutensor: NVIDIA cuTENSOR library.
  • generic-builders:
    • Contains a builder manifest.nix which operates on the Manifest type defined in modules/generic/manifests. Most packages are built using this builder.
    • Contains a builder multiplex.nix which leverages the Manifest builder. In short, the Multiplex builder adds multiple versions of a single package to single instance of the CUDA Packages package set. It is used primarily for packages like cudnn and cutensor.
  • modules: Nixpkgs modules to check the shape and content of CUDA redistributable and feature manifests. These modules additionally use shims provided by some CUDA packages to allow them to re-use the genericManifestBuilder, even if they don't have manifest files of their own. cudnn and tensorrt are examples of packages which provide such shims. These modules are further described in the Modules documentation.
  • nccl: NVIDIA NCCL library.
  • nccl-tests: NVIDIA NCCL tests.
  • saxpy: Example CMake project that uses CUDA.
  • setup-hooks: Nixpkgs setup hooks for CUDA.
  • tensorrt: NVIDIA TensorRT library.