From 5b43c7a49778f0552e78c4fca0cf440f96ea9ec5 Mon Sep 17 00:00:00 2001 From: Connor Baker Date: Mon, 29 Sep 2025 20:27:23 +0000 Subject: [PATCH] cuda-packages.nix: re-use backendStdenv.hasJetsonCudaCapability Signed-off-by: Connor Baker --- pkgs/top-level/cuda-packages.nix | 32 +++++++++++++------------------- 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/pkgs/top-level/cuda-packages.nix b/pkgs/top-level/cuda-packages.nix index 933dcc49ae30..6623c5b43b4f 100644 --- a/pkgs/top-level/cuda-packages.nix +++ b/pkgs/top-level/cuda-packages.nix @@ -5,22 +5,8 @@ lib, }: let - # NOTE: Because manifests are used to add redistributables to the package set, - # we cannot have values depend on the package set itself, or we run into infinite recursion. - - # Since Jetson capabilities are never built by default, we can check if any of them were requested - # through final.config.cudaCapabilities and use that to determine if we should change some manifest versions. - # Copied from backendStdenv. - hasJetsonCudaCapability = - let - jetsonCudaCapabilities = lib.filter ( - cudaCapability: _cuda.db.cudaCapabilityToInfo.${cudaCapability}.isJetson - ) _cuda.db.allSortedCudaCapabilities; - in - lib.intersectLists jetsonCudaCapabilities (config.cudaCapabilities or [ ]) != [ ]; selectManifests = lib.mapAttrs (name: version: _cuda.manifests.${name}.${version}); -in -{ + cudaPackages_12_6 = callPackage ../development/cuda-modules { manifests = selectManifests { cublasmp = "0.6.0"; @@ -36,7 +22,7 @@ in nvjpeg2000 = "0.9.0"; nvpl = "25.5"; nvtiff = "0.5.1"; - tensorrt = if hasJetsonCudaCapability then "10.7.0" else "10.9.0"; + tensorrt = if cudaPackages_12_6.backendStdenv.hasJetsonCudaCapability then "10.7.0" else "10.9.0"; }; }; @@ -55,7 +41,7 @@ in nvjpeg2000 = "0.9.0"; nvpl = "25.5"; nvtiff = "0.5.1"; - tensorrt = if hasJetsonCudaCapability then "10.7.0" else "10.9.0"; + tensorrt = if cudaPackages_12_8.backendStdenv.hasJetsonCudaCapability then "10.7.0" else "10.9.0"; }; }; @@ -74,7 +60,7 @@ in nvjpeg2000 = "0.9.0"; nvpl = "25.5"; nvtiff = "0.5.1"; - tensorrt = if hasJetsonCudaCapability then "10.7.0" else "10.9.0"; + tensorrt = if cudaPackages_12_9.backendStdenv.hasJetsonCudaCapability then "10.7.0" else "10.9.0"; }; }; @@ -93,7 +79,15 @@ in nvjpeg2000 = "0.9.0"; nvpl = "25.5"; nvtiff = "0.5.1"; - tensorrt = if hasJetsonCudaCapability then "10.7.0" else "10.9.0"; + tensorrt = if cudaPackages_13_0.backendStdenv.hasJetsonCudaCapability then "10.7.0" else "10.9.0"; }; }; +in +{ + inherit + cudaPackages_12_6 + cudaPackages_12_8 + cudaPackages_12_9 + cudaPackages_13_0 + ; }