Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions doc/languages-frameworks/cuda.section.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,8 +115,8 @@ All new projects should use the CUDA redistributables available in [`cudaPackage

### Updating supported compilers and GPUs {#updating-supported-compilers-and-gpus}

1. Update `nvcc-compatibilities.nix` in `pkgs/development/cuda-modules/` to include the newest release of NVCC, as well as any newly supported host compilers.
2. Update `gpus.nix` in `pkgs/development/cuda-modules/` to include any new GPUs supported by the new release of CUDA.
1. Update `nvccCompatibilities` in `pkgs/development/cuda-modules/_cuda/data/nvcc.nix` to include the newest release of NVCC, as well as any newly supported host compilers.
2. Update `cudaCapabilityToInfo` in `pkgs/development/cuda-modules/_cuda/data/cuda.nix` to include any new GPUs supported by the new release of CUDA.

### Updating the CUDA Toolkit runfile installer {#updating-the-cuda-toolkit}

Expand Down
2 changes: 1 addition & 1 deletion pkgs/applications/science/misc/colmap/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ stdenv'.mkDerivation rec {
cmakeFlags = lib.optionals cudaSupport [
(lib.cmakeBool "CUDA_ENABLED" true)
(lib.cmakeFeature "CMAKE_CUDA_ARCHITECTURES" (
lib.strings.concatStringsSep ";" (map cudaPackages.flags.dropDot cudaCapabilities)
lib.strings.concatStringsSep ";" (map cudaPackages.flags.dropDots cudaCapabilities)
))
];

Expand Down
2 changes: 1 addition & 1 deletion pkgs/by-name/dl/dlib/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
]
++ lib.optionals cudaSupport [
(lib.cmakeFeature "DLIB_USE_CUDA_COMPUTE_CAPABILITIES" (
builtins.concatStringsSep "," (with cudaPackages.flags; map dropDot cudaCapabilities)
builtins.concatStringsSep "," (with cudaPackages.flags; map dropDots cudaCapabilities)
))
];

Expand Down
4 changes: 2 additions & 2 deletions pkgs/by-name/gp/gpu-burn/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ let
cuda_nvcc
libcublas
;
inherit (cudaPackages.flags) cudaCapabilities dropDot isJetsonBuild;
inherit (cudaPackages.flags) cudaCapabilities dropDots isJetsonBuild;
in
backendStdenv.mkDerivation {
pname = "gpu-burn";
Expand Down Expand Up @@ -53,7 +53,7 @@ backendStdenv.mkDerivation {

makeFlags = [
"CUDAPATH=${getBin cuda_nvcc}"
"COMPUTE=${last (map dropDot cudaCapabilities)}"
"COMPUTE=${last (map dropDots cudaCapabilities)}"
"IS_JETSON=${boolToString isJetsonBuild}"
];

Expand Down
2 changes: 1 addition & 1 deletion pkgs/by-name/mi/mistral-rs/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ let
))
else
cudaCapability;
cudaCapability' = lib.toInt (cudaPackages.flags.dropDot cudaCapabilityString);
cudaCapability' = lib.toInt (cudaPackages.flags.dropDots cudaCapabilityString);

mklSupport =
assert accelIsValid;
Expand Down
2 changes: 1 addition & 1 deletion pkgs/by-name/mo/moshi/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ let
))
else
cudaCapability;
cudaCapability' = lib.toInt (cudaPackages.flags.dropDot cudaCapabilityString);
cudaCapability' = lib.toInt (cudaPackages.flags.dropDots cudaCapabilityString);
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "moshi";
Expand Down
2 changes: 1 addition & 1 deletion pkgs/by-name/ti/tiny-cuda-nn/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ let

cudaCapabilities = lists.subtractLists unsupportedCudaCapabilities flags.cudaCapabilities;

cudaArchitecturesString = strings.concatMapStringsSep ";" flags.dropDot cudaCapabilities;
cudaArchitecturesString = strings.concatMapStringsSep ";" flags.dropDots cudaCapabilities;
in
stdenv.mkDerivation (finalAttrs: {
pname = "tiny-cuda-nn";
Expand Down
19 changes: 4 additions & 15 deletions pkgs/development/cuda-modules/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,6 @@
The files in this directory are added (in some way) to the `cudaPackages`
package set by [cuda-packages.nix](../../top-level/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.
Expand All @@ -41,16 +29,17 @@ scope. These are typically required for the creation of the finalized
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`.
- `lib`: A library of functions and data used by and for the CUDA package set.
This library is exposed at the top-level as `pkgs.cudaLib`.
- `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](./modules/README.md) documentation.
- `nccl`: NVIDIA NCCL library.
- `nccl-tests`: NVIDIA NCCL tests.
- `saxpy`: Example CMake project that uses CUDA.
- `packages`: Contains packages which exist in every instance of the CUDA
package set. These packages are built in a `by-name` fashion.
- `setup-hooks`: Nixpkgs setup hooks for CUDA.
- `tensorrt`: NVIDIA TensorRT library.

Expand Down
Loading