summaryrefslogtreecommitdiffstats
path: root/pkgs/test
diff options
context:
space:
mode:
authorFrederik Rietdijk <fridh@fridh.nl>2022-04-03 11:19:04 +0200
committerFrederik Rietdijk <freddyrietdijk@fridh.nl>2022-04-09 08:50:22 +0200
commit1d63f89caaf140ac33f1796dc0aaeb20f4ac4e55 (patch)
tree82668e186706e393a7f43c029be21ea4abfc44e9 /pkgs/test
parent934190fa06dc0de1fe7eecc543583d91657fb5fa (diff)
cudaPackages: overhaul of how we package cuda packages
There are many different versions of the `cudatoolkit` and related cuda packages, and it can be tricky to ensure they remain compatible. - `cudaPackages` is now a package set with `cudatoolkit`, `cudnn`, `cutensor`, `nccl`, as well as `cudatoolkit` split into smaller packages ("redist"); - expressions should now use `cudaPackages` as parameter instead of the individual cuda packages; - `makeScope` is now used, so it is possible to use `.overrideScope'` to set e.g. a different `cudnn` version; - `release-cuda.nix` is introduced to easily evaluate cuda packages using hydra.
Diffstat (limited to 'pkgs/test')
-rw-r--r--pkgs/test/cuda/cuda-library-samples/default.nix52
-rw-r--r--pkgs/test/cuda/cuda-library-samples/extension.nix3
-rw-r--r--pkgs/test/cuda/cuda-library-samples/generic.nix6
-rw-r--r--pkgs/test/cuda/cuda-samples/default.nix54
-rw-r--r--pkgs/test/cuda/cuda-samples/extension.nix20
5 files changed, 26 insertions, 109 deletions
diff --git a/pkgs/test/cuda/cuda-library-samples/default.nix b/pkgs/test/cuda/cuda-library-samples/default.nix
deleted file mode 100644
index ff256028cdf0..000000000000
--- a/pkgs/test/cuda/cuda-library-samples/default.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ callPackage
-, cudatoolkit_10_1, cudatoolkit_10_2
-, cudatoolkit_11_0, cudatoolkit_11_1, cudatoolkit_11_2, cudatoolkit_11_3, cudatoolkit_11_4
-, cutensor_cudatoolkit_10_1, cutensor_cudatoolkit_10_2
-, cutensor_cudatoolkit_11_0, cutensor_cudatoolkit_11_1, cutensor_cudatoolkit_11_2, cutensor_cudatoolkit_11_3, cutensor_cudatoolkit_11_4
-}:
-
-rec {
-
- cuda-library-samples_cudatoolkit_10_1 = callPackage ./generic.nix {
- cudatoolkit = cudatoolkit_10_1;
- cutensor_cudatoolkit = cutensor_cudatoolkit_10_1;
- };
-
- cuda-library-samples_cudatoolkit_10_2 = callPackage ./generic.nix {
- cudatoolkit = cudatoolkit_10_2;
- cutensor_cudatoolkit = cutensor_cudatoolkit_10_2;
- };
-
- cuda-library-samples_cudatoolkit_10 =
- cuda-library-samples_cudatoolkit_10_2;
-
- ##
-
- cuda-library-samples_cudatoolkit_11_0 = callPackage ./generic.nix {
- cudatoolkit = cudatoolkit_11_0;
- cutensor_cudatoolkit = cutensor_cudatoolkit_11_0;
- };
-
- cuda-library-samples_cudatoolkit_11_1 = callPackage ./generic.nix {
- cudatoolkit = cudatoolkit_11_1;
- cutensor_cudatoolkit = cutensor_cudatoolkit_11_1;
- };
-
- cuda-library-samples_cudatoolkit_11_2 = callPackage ./generic.nix {
- cudatoolkit = cudatoolkit_11_2;
- cutensor_cudatoolkit = cutensor_cudatoolkit_11_2;
- };
-
- cuda-library-samples_cudatoolkit_11_3 = callPackage ./generic.nix {
- cudatoolkit = cudatoolkit_11_3;
- cutensor_cudatoolkit = cutensor_cudatoolkit_11_3;
- };
-
- cuda-library-samples_cudatoolkit_11_4 = callPackage ./generic.nix {
- cudatoolkit = cudatoolkit_11_4;
- cutensor_cudatoolkit = cutensor_cudatoolkit_11_4;
- };
-
- cuda-library-samples_cudatoolkit_11 =
- cuda-library-samples_cudatoolkit_11_4;
-}
diff --git a/pkgs/test/cuda/cuda-library-samples/extension.nix b/pkgs/test/cuda/cuda-library-samples/extension.nix
new file mode 100644
index 000000000000..4c721a9e9e1b
--- /dev/null
+++ b/pkgs/test/cuda/cuda-library-samples/extension.nix
@@ -0,0 +1,3 @@
+final: prev: {
+ cuda-library-samples = final.callPackage ./generic.nix { };
+}
diff --git a/pkgs/test/cuda/cuda-library-samples/generic.nix b/pkgs/test/cuda/cuda-library-samples/generic.nix
index 350decef22dc..f0c30d801a1c 100644
--- a/pkgs/test/cuda/cuda-library-samples/generic.nix
+++ b/pkgs/test/cuda/cuda-library-samples/generic.nix
@@ -1,7 +1,7 @@
{ lib, stdenv, fetchFromGitHub
, cmake, addOpenGLRunpath
, cudatoolkit
-, cutensor_cudatoolkit
+, cutensor
}:
let
@@ -61,9 +61,9 @@ in
# CUTENSOR_ROOT is double escaped
postPatch = ''
substituteInPlace CMakeLists.txt \
- --replace "\''${CUTENSOR_ROOT}/include" "${cutensor_cudatoolkit.dev}/include"
+ --replace "\''${CUTENSOR_ROOT}/include" "${cutensor.dev}/include"
'';
- CUTENSOR_ROOT = cutensor_cudatoolkit;
+ CUTENSOR_ROOT = cutensor;
});
}
diff --git a/pkgs/test/cuda/cuda-samples/default.nix b/pkgs/test/cuda/cuda-samples/default.nix
deleted file mode 100644
index 5b46a0651eba..000000000000
--- a/pkgs/test/cuda/cuda-samples/default.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{ callPackage
-, cudatoolkit_10_0, cudatoolkit_10_1, cudatoolkit_10_2
-, cudatoolkit_11_0, cudatoolkit_11_1, cudatoolkit_11_2, cudatoolkit_11_3, cudatoolkit_11_4
-}:
-
-rec {
- ##
-
- cuda-samples_cudatoolkit_10_0 = callPackage ./generic.nix {
- cudatoolkit = cudatoolkit_10_0;
- sha256 = "1zvh4xsdyc59m87brpcmssxsjlp9dkynh4asnkcmc3g94f53l0jw";
- };
-
- cuda-samples_cudatoolkit_10_1 = callPackage ./generic.nix {
- cudatoolkit = cudatoolkit_10_1;
- sha256 = "1s8ka0hznrni36ajhzf2gqpdrl8kd8fi047qijxks5l2abc093qd";
- };
-
- cuda-samples_cudatoolkit_10_2 = callPackage ./generic.nix {
- cudatoolkit = cudatoolkit_10_2;
- sha256 = "01p1innzgh9siacpld6nsqimj8jkg93rk4gj8q4crn62pa5vhd94";
- };
-
- cuda-samples_cudatoolkit_10 = cuda-samples_cudatoolkit_10_2;
-
- ##
-
- cuda-samples_cudatoolkit_11_0 = callPackage ./generic.nix {
- cudatoolkit = cudatoolkit_11_0;
- sha256 = "1n3vjc8c7zdig2xgl5fppavrphqzhdiv9m9nk6smh4f99fwi0705";
- };
-
- cuda-samples_cudatoolkit_11_1 = callPackage ./generic.nix {
- cudatoolkit = cudatoolkit_11_1;
- sha256 = "1kjixk50i8y1bkiwbdn5lkv342crvkmbvy1xl5j3lsa1ica21kwh";
- };
-
- cuda-samples_cudatoolkit_11_2 = callPackage ./generic.nix {
- cudatoolkit = cudatoolkit_11_2;
- sha256 = "1p1qjvfbm28l933mmnln02rqrf0cy9kbpsyb488d1haiqzvrazl1";
- };
-
- cuda-samples_cudatoolkit_11_3 = callPackage ./generic.nix {
- cudatoolkit = cudatoolkit_11_3;
- sha256 = "0kbibb6pgz8j5iq6284axcnmycaha9bw8qlmdp6yfwmnahq1v0yz";
- };
-
- cuda-samples_cudatoolkit_11_4 = callPackage ./generic.nix {
- cudatoolkit = cudatoolkit_11_4;
- sha256 = "082dkk5y34wyvjgj2p5j1d00rk8xaxb9z0mhvz16bd469r1bw2qk";
- };
-
- cuda-samples_cudatoolkit_11 = cuda-samples_cudatoolkit_11_4;
-}
diff --git a/pkgs/test/cuda/cuda-samples/extension.nix b/pkgs/test/cuda/cuda-samples/extension.nix
new file mode 100644
index 000000000000..4c93845d1db6
--- /dev/null
+++ b/pkgs/test/cuda/cuda-samples/extension.nix
@@ -0,0 +1,20 @@
+final: prev: let
+
+ sha256 = {
+ "10.0" = "1zvh4xsdyc59m87brpcmssxsjlp9dkynh4asnkcmc3g94f53l0jw";
+ "10.1" = "1s8ka0hznrni36ajhzf2gqpdrl8kd8fi047qijxks5l2abc093qd";
+ "10.2" = "01p1innzgh9siacpld6nsqimj8jkg93rk4gj8q4crn62pa5vhd94";
+ "11.0" = "1n3vjc8c7zdig2xgl5fppavrphqzhdiv9m9nk6smh4f99fwi0705";
+ "11.1" = "1kjixk50i8y1bkiwbdn5lkv342crvkmbvy1xl5j3lsa1ica21kwh";
+ "11.2" = "1p1qjvfbm28l933mmnln02rqrf0cy9kbpsyb488d1haiqzvrazl1";
+ "11.3" = "0kbibb6pgz8j5iq6284axcnmycaha9bw8qlmdp6yfwmnahq1v0yz";
+ "11.4" = "082dkk5y34wyvjgj2p5j1d00rk8xaxb9z0mhvz16bd469r1bw2qk";
+ "11.5" = "sha256-AKRZbke0K59lakhTi8dX2cR2aBuWPZkiQxyKaZTvHrI=";
+ "11.6" = "sha256-AsLNmAplfuQbXg9zt09tXAuFJ524EtTYsQuUlV1tPkE=";
+ }.${prev.cudaVersion};
+
+in {
+ cuda-samples = final.callPackage ./generic.nix {
+ inherit sha256;
+ };
+}