diff options
author | Alyssa Ross <hi@alyssa.is> | 2024-01-20 12:31:50 +0100 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2024-01-20 12:32:25 +0100 |
commit | b7baf40e099b4215181fe7b0c63083b12ef2c7fb (patch) | |
tree | a6efabd31d05b6d0a36624729e80377bbbfb0149 /nixpkgs/pkgs/test/cuda | |
parent | 710028664e26e85cb831a869b3da9f6993902255 (diff) | |
parent | 0799f514b1cd74878174939df79ac60ca5036673 (diff) | |
download | nixlib-b7baf40e099b4215181fe7b0c63083b12ef2c7fb.tar nixlib-b7baf40e099b4215181fe7b0c63083b12ef2c7fb.tar.gz nixlib-b7baf40e099b4215181fe7b0c63083b12ef2c7fb.tar.bz2 nixlib-b7baf40e099b4215181fe7b0c63083b12ef2c7fb.tar.lz nixlib-b7baf40e099b4215181fe7b0c63083b12ef2c7fb.tar.xz nixlib-b7baf40e099b4215181fe7b0c63083b12ef2c7fb.tar.zst nixlib-b7baf40e099b4215181fe7b0c63083b12ef2c7fb.zip |
Merge branch 'nixos-unstable-small' of https://github.com/NixOS/nixpkgs
Conflicts: nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix
Diffstat (limited to 'nixpkgs/pkgs/test/cuda')
-rw-r--r-- | nixpkgs/pkgs/test/cuda/cuda-library-samples/extension.nix | 14 | ||||
-rw-r--r-- | nixpkgs/pkgs/test/cuda/cuda-library-samples/generic.nix | 85 | ||||
-rw-r--r-- | nixpkgs/pkgs/test/cuda/cuda-samples/extension.nix | 42 | ||||
-rw-r--r-- | nixpkgs/pkgs/test/cuda/cuda-samples/generic.nix | 79 | ||||
-rw-r--r-- | nixpkgs/pkgs/test/cuda/default.nix | 77 |
5 files changed, 48 insertions, 249 deletions
diff --git a/nixpkgs/pkgs/test/cuda/cuda-library-samples/extension.nix b/nixpkgs/pkgs/test/cuda/cuda-library-samples/extension.nix deleted file mode 100644 index 62de715fd0b4..000000000000 --- a/nixpkgs/pkgs/test/cuda/cuda-library-samples/extension.nix +++ /dev/null @@ -1,14 +0,0 @@ -{hostPlatform, lib}: -let - # Samples are built around the CUDA Toolkit, which is not available for - # aarch64. Check for both CUDA version and platform. - platformIsSupported = hostPlatform.isx86_64; - - # Build our extension - extension = - final: _: - lib.attrsets.optionalAttrs platformIsSupported { - cuda-library-samples = final.callPackage ./generic.nix {}; - }; -in -extension diff --git a/nixpkgs/pkgs/test/cuda/cuda-library-samples/generic.nix b/nixpkgs/pkgs/test/cuda/cuda-library-samples/generic.nix deleted file mode 100644 index d4182536654e..000000000000 --- a/nixpkgs/pkgs/test/cuda/cuda-library-samples/generic.nix +++ /dev/null @@ -1,85 +0,0 @@ -{ - lib, - backendStdenv, - fetchFromGitHub, - cmake, - addOpenGLRunpath, - cudatoolkit, - cutensor, -}: - -let - rev = "5aab680905d853bce0dbad4c488e4f7e9f7b2302"; - src = fetchFromGitHub { - owner = "NVIDIA"; - repo = "CUDALibrarySamples"; - inherit rev; - sha256 = "0gwgbkq05ygrfgg5hk07lmap7n7ampxv0ha1axrv8qb748ph81xs"; - }; - commonAttrs = { - version = lib.strings.substring 0 7 rev + "-" + lib.versions.majorMinor cudatoolkit.version; - nativeBuildInputs = [ - cmake - addOpenGLRunpath - ]; - buildInputs = [cudatoolkit]; - postFixup = '' - for exe in $out/bin/*; do - addOpenGLRunpath $exe - done - ''; - meta = { - description = "examples of using libraries using CUDA"; - longDescription = '' - CUDA Library Samples contains examples demonstrating the use of - features in the math and image processing libraries cuBLAS, cuTENSOR, - cuSPARSE, cuSOLVER, cuFFT, cuRAND, NPP and nvJPEG. - ''; - license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [obsidian-systems-maintenance] ++ lib.teams.cuda.members; - }; - }; -in - -{ - cublas = backendStdenv.mkDerivation ( - commonAttrs - // { - pname = "cuda-library-samples-cublas"; - - src = "${src}/cuBLASLt"; - } - ); - - cusolver = backendStdenv.mkDerivation ( - commonAttrs - // { - pname = "cuda-library-samples-cusolver"; - - src = "${src}/cuSOLVER"; - - sourceRoot = "cuSOLVER/gesv"; - } - ); - - cutensor = backendStdenv.mkDerivation ( - commonAttrs - // { - pname = "cuda-library-samples-cutensor"; - - src = "${src}/cuTENSOR"; - - buildInputs = [cutensor]; - - cmakeFlags = ["-DCUTENSOR_EXAMPLE_BINARY_INSTALL_DIR=${builtins.placeholder "out"}/bin"]; - - # CUTENSOR_ROOT is double escaped - postPatch = '' - substituteInPlace CMakeLists.txt \ - --replace "\''${CUTENSOR_ROOT}/include" "${cutensor.dev}/include" - ''; - - CUTENSOR_ROOT = cutensor; - } - ); -} diff --git a/nixpkgs/pkgs/test/cuda/cuda-samples/extension.nix b/nixpkgs/pkgs/test/cuda/cuda-samples/extension.nix deleted file mode 100644 index d41da90cd5d0..000000000000 --- a/nixpkgs/pkgs/test/cuda/cuda-samples/extension.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ - cudaVersion, - hostPlatform, - lib, -}: -let - cudaVersionToHash = { - "10.0" = "sha256-XAI6iiPpDVbZtFoRaP1s6VKpu9aV3bwOqqkw33QncP8="; - "10.1" = "sha256-DY8E2FKCFj27jPgQEB1qE9HcLn7CfSiVGdFm+yFQE+k="; - "10.2" = "sha256-JDW4i7rC2MwIRvKRmUd6UyJZI9bWNHqZijrB962N4QY="; - "11.0" = "sha256-BRwQuUvJEVi1mTbVtGODH8Obt7rXFfq6eLH9wxCTe9g="; - "11.1" = "sha256-kM8gFItBaTpkoT34vercmQky9qTFtsXjXMGjCMrsUc4="; - "11.2" = "sha256-gX6V98dRwdAQIsvru2byDLiMswCW2lrHSBSJutyWONw="; - "11.3" = "sha256-34MdMFS2cufNbZVixFdSUDFfLeuKIGFwLBL9d81acU0="; - "11.4" = "sha256-Ewu+Qk6GtGXC37CCn1ZXHc0MQAuyXCGf3J6T4cucTSA="; - "11.5" = "sha256-AKRZbke0K59lakhTi8dX2cR2aBuWPZkiQxyKaZTvHrI="; - "11.6" = "sha256-AsLNmAplfuQbXg9zt09tXAuFJ524EtTYsQuUlV1tPkE="; - # The tag 11.7 of cuda-samples does not exist - "11.8" = "sha256-7+1P8+wqTKUGbCUBXGMDO9PkxYr2+PLDx9W2hXtXbuc="; - "12.0" = "sha256-Lj2kbdVFrJo5xPYPMiE4BS7Z8gpU5JLKXVJhZABUe/g="; - "12.1" = "sha256-xE0luOMq46zVsIEWwK4xjLs7NorcTIi9gbfZPVjIlqo="; - "12.2" = "sha256-pOy0qfDjA/Nr0T9PNKKefK/63gQnJV2MQsN2g3S2yng="; - "12.3" = "sha256-fjVp0G6uRCWxsfe+gOwWTN+esZfk0O5uxS623u0REAk="; - }; - - # Samples are built around the CUDA Toolkit, which is not available for - # aarch64. Check for both CUDA version and platform. - cudaVersionIsSupported = cudaVersionToHash ? ${cudaVersion}; - platformIsSupported = hostPlatform.isx86_64; - isSupported = cudaVersionIsSupported && platformIsSupported; - - # Build our extension - extension = - final: _: - lib.attrsets.optionalAttrs isSupported { - cuda-samples = final.callPackage ./generic.nix { - inherit cudaVersion; - hash = cudaVersionToHash.${cudaVersion}; - }; - }; -in -extension diff --git a/nixpkgs/pkgs/test/cuda/cuda-samples/generic.nix b/nixpkgs/pkgs/test/cuda/cuda-samples/generic.nix deleted file mode 100644 index fb3d7cc99da9..000000000000 --- a/nixpkgs/pkgs/test/cuda/cuda-samples/generic.nix +++ /dev/null @@ -1,79 +0,0 @@ -{ - autoAddOpenGLRunpathHook, - backendStdenv, - cmake, - cudatoolkit, - cudaVersion, - fetchFromGitHub, - fetchpatch, - freeimage, - glfw3, - hash, - lib, - pkg-config, -}: -let - inherit (lib) lists strings; -in -backendStdenv.mkDerivation ( - finalAttrs: { - strictDeps = true; - - pname = "cuda-samples"; - version = cudaVersion; - - src = fetchFromGitHub { - owner = "NVIDIA"; - repo = finalAttrs.pname; - rev = "v${finalAttrs.version}"; - inherit hash; - }; - - nativeBuildInputs = - [ - autoAddOpenGLRunpathHook - pkg-config - ] - # CMake has to run as a native, build-time dependency for libNVVM samples. - # However, it's not the primary build tool -- that's still make. - # As such, we disable CMake's build system. - ++ lists.optionals (strings.versionAtLeast finalAttrs.version "12.2") [cmake]; - - dontUseCmakeConfigure = true; - - buildInputs = [ - cudatoolkit - freeimage - glfw3 - ]; - - # See https://github.com/NVIDIA/cuda-samples/issues/75. - patches = lib.optionals (finalAttrs.version == "11.3") [ - (fetchpatch { - url = "https://github.com/NVIDIA/cuda-samples/commit/5c3ec60faeb7a3c4ad9372c99114d7bb922fda8d.patch"; - hash = "sha256-0XxdmNK9MPpHwv8+qECJTvXGlFxc+fIbta4ynYprfpU="; - }) - ]; - - enableParallelBuilding = true; - - preConfigure = '' - export CUDA_PATH=${cudatoolkit} - ''; - - installPhase = '' - runHook preInstall - - install -Dm755 -t $out/bin bin/${backendStdenv.hostPlatform.parsed.cpu.name}/${backendStdenv.hostPlatform.parsed.kernel.name}/release/* - - runHook postInstall - ''; - - meta = { - description = "Samples for CUDA Developers which demonstrates features in CUDA Toolkit"; - # CUDA itself is proprietary, but these sample apps are not. - license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [obsidian-systems-maintenance] ++ lib.teams.cuda.members; - }; - } -) diff --git a/nixpkgs/pkgs/test/cuda/default.nix b/nixpkgs/pkgs/test/cuda/default.nix index 8431e4b9207d..dd9ad8b814dc 100644 --- a/nixpkgs/pkgs/test/cuda/default.nix +++ b/nixpkgs/pkgs/test/cuda/default.nix @@ -1,32 +1,51 @@ -{callPackage}: +{ + lib, + recurseIntoAttrs, -rec { - cuda-samplesPackages = callPackage ./cuda-samples/generic.nix {}; - inherit (cuda-samplesPackages) - cuda-samples_cudatoolkit_10 - cuda-samples_cudatoolkit_10_0 - cuda-samples_cudatoolkit_10_1 - cuda-samples_cudatoolkit_10_2 - cuda-samples_cudatoolkit_11 - cuda-samples_cudatoolkit_11_0 - cuda-samples_cudatoolkit_11_1 - cuda-samples_cudatoolkit_11_2 - cuda-samples_cudatoolkit_11_3 - cuda-samples_cudatoolkit_11_4 - ; + cudaPackages, + cudaPackagesGoogle, - cuda-library-samplesPackages = callPackage ./cuda-library-samples/generic.nix {}; - inherit (cuda-library-samplesPackages) - cuda-library-samples_cudatoolkit_10 - cuda-library-samples_cudatoolkit_10_1 - cuda-library-samples_cudatoolkit_10_2 - cuda-library-samples_cudatoolkit_11 - cuda-library-samples_cudatoolkit_11_0 - cuda-library-samples_cudatoolkit_11_1 - cuda-library-samples_cudatoolkit_11_2 - cuda-library-samples_cudatoolkit_11_3 - cuda-library-samples_cudatoolkit_11_4 - ; + cudaPackages_10_0, + cudaPackages_10_1, + cudaPackages_10_2, + cudaPackages_10, - __attrsFailEvaluation = true; -} + cudaPackages_11_0, + cudaPackages_11_1, + cudaPackages_11_2, + cudaPackages_11_3, + cudaPackages_11_4, + cudaPackages_11_5, + cudaPackages_11_6, + cudaPackages_11_7, + cudaPackages_11_8, + cudaPackages_11, + + cudaPackages_12_0, + cudaPackages_12_1, + cudaPackages_12_2, + cudaPackages_12_3, + cudaPackages_12, +}@args: + +let + isTest = + name: package: + builtins.elem (package.pname or null) [ + "cuda-samples" + "cuda-library-samples" + "saxpy" + ]; +in +(lib.trivial.pipe args [ + (lib.filterAttrs (name: _: lib.hasPrefix "cudaPackages" name)) + (lib.mapAttrs ( + _: ps: + lib.pipe ps [ + (lib.filterAttrs isTest) + (as: as // { __attrsFailEvaluation = true; }) + recurseIntoAttrs + ] + )) + recurseIntoAttrs +]) |