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; [