_cuda: missed fixups

Signed-off-by: Connor Baker <ConnorBaker01@gmail.com>
This commit is contained in:
Connor Baker 2025-05-27 23:51:13 +00:00
parent 209a4c88ec
commit 816a644da5
4 changed files with 9 additions and 11 deletions

View file

@ -29,8 +29,6 @@ package set by [cuda-packages.nix](../../top-level/cuda-packages.nix).
short, the Multiplex builder adds multiple versions of a single package to 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 single instance of the CUDA Packages package set. It is used primarily for
packages like `cudnn` and `cutensor`. 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 - `modules`: Nixpkgs modules to check the shape and content of CUDA
redistributable and feature manifests. These modules additionally use shims redistributable and feature manifests. These modules additionally use shims
provided by some CUDA packages to allow them to re-use the provided by some CUDA packages to allow them to re-use the

View file

@ -1,8 +1,8 @@
# The _cuda attribute set is a fixed-point which contains the static functionality required to construct CUDA package # The _cuda attribute set is a fixed-point which contains the static functionality required to construct CUDA package
# sets. For example, `_cuda.cudaData` includes information about NVIDIA's redistributables (such as the names NVIDIA # sets. For example, `_cuda.bootstrapData` includes information about NVIDIA's redistributables (such as the names
# uses for different systems), `_cuda.cudaLib` contains utility functions like `formatCapabilities` (which generate # NVIDIA uses for different systems), `_cuda.lib` contains utility functions like `formatCapabilities` (which generate
# common arguments passed to NVCC and `cmakeFlags`), and `_cuda.cudaFixups` contains `callPackage`-able functions # common arguments passed to NVCC and `cmakeFlags`), and `_cuda.fixups` contains `callPackage`-able functions which
# which are provided to the corresponding package's `overrideAttrs` attribute to provide package-specific fixups # are provided to the corresponding package's `overrideAttrs` attribute to provide package-specific fixups
# out of scope of the generic redistributable builder. # out of scope of the generic redistributable builder.
# #
# Since this attribute set is used to construct the CUDA package sets, it must exist outside the fixed point of the # Since this attribute set is used to construct the CUDA package sets, it must exist outside the fixed point of the

View file

@ -1,14 +1,13 @@
{ {
cudaData, _cuda,
cudaLib,
cudaNamePrefix, cudaNamePrefix,
lib, lib,
runCommand, runCommand,
}: }:
let let
inherit (builtins) deepSeq toJSON tryEval; inherit (builtins) deepSeq toJSON tryEval;
inherit (cudaData) cudaCapabilityToInfo; inherit (_cuda.bootstrapData) cudaCapabilityToInfo;
inherit (cudaLib) formatCapabilities; inherit (_cuda.lib) formatCapabilities;
inherit (lib.asserts) assertMsg; inherit (lib.asserts) assertMsg;
in in
# When changing names or formats: pause, validate, and update the assert # When changing names or formats: pause, validate, and update the assert
@ -62,6 +61,7 @@ assert
"7.5" "7.5"
"8.6" "8.6"
]; ];
cudaForwardCompat = true;
}; };
actualWrapped = (tryEval (deepSeq actual actual)).value; actualWrapped = (tryEval (deepSeq actual actual)).value;
in in

View file

@ -14,7 +14,7 @@
let let
lib = import ../../lib; lib = import ../../lib;
inherit (import ../development/cuda-modules/_cuda) cudaLib; cudaLib = (import ../development/cuda-modules/_cuda).lib;
in in
{ {