From 909949ced661063141c694797c04d0074fdf4c8d Mon Sep 17 00:00:00 2001 From: Connor Baker Date: Mon, 29 Sep 2025 22:37:12 +0000 Subject: [PATCH] cudaPackages.nccl: allow building on Thor and later Signed-off-by: Connor Baker --- pkgs/development/cuda-modules/packages/nccl.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/development/cuda-modules/packages/nccl.nix b/pkgs/development/cuda-modules/packages/nccl.nix index 48ce87101eba..07f0ba06a067 100644 --- a/pkgs/development/cuda-modules/packages/nccl.nix +++ b/pkgs/development/cuda-modules/packages/nccl.nix @@ -18,7 +18,7 @@ }: let inherit (_cuda.lib) _mkMetaBadPlatforms; - inherit (backendStdenv) hasJetsonCudaCapability; + inherit (backendStdenv) hasJetsonCudaCapability requestedJetsonCudaCapabilities; inherit (lib) licenses maintainers teams; inherit (lib.attrsets) getBin @@ -91,8 +91,10 @@ backendStdenv.mkDerivation (finalAttrs: { passthru = { platformAssertions = [ { - message = "target is not a Jetson device"; - assertion = !hasJetsonCudaCapability; + message = "Pre-Thor Jetson devices (CUDA capabilities < 10.1) are not supported by NCCL"; + assertion = + !hasJetsonCudaCapability + || lib.all (lib.flip lib.versionAtLeast "10.1") requestedJetsonCudaCapabilities; } ]; @@ -110,7 +112,7 @@ backendStdenv.mkDerivation (finalAttrs: { "aarch64-linux" "x86_64-linux" ]; - # NCCL is not supported on Jetson, because it does not use NVLink or PCI-e for inter-GPU communication. + # NCCL is not supported on Pre-Thor Jetsons, because it does not use NVLink or PCI-e for inter-GPU communication. # https://forums.developer.nvidia.com/t/can-jetson-orin-support-nccl/232845/9 badPlatforms = _mkMetaBadPlatforms finalAttrs; maintainers = with maintainers; [