swapspace: 1.18 -> 1.18.1
[NixPkgs.git] / pkgs / top-level / release-cuda.nix
blobf655114737e9e2536927eb84c838398864631e3e
1 /*
2     Test CUDA packages.
4     This release file is currently not tested on hydra.nixos.org
5     because it requires unfree software, but it is tested by
6     https://hydra.nix-community.org/jobset/nixpkgs/cuda-nixos-unstable.
8     Cf. https://github.com/nix-community/infra/pull/1335
10     Test for example like this:
12         $ hydra-eval-jobs pkgs/top-level/release-cuda.nix -I .
15 let
16   lib = import ../../lib;
17   ensureList = x: if builtins.isList x then x else [ x ];
18   allowUnfreePredicate =
19     p:
20     builtins.all (
21       license:
22       license.free
23       || builtins.elem license.shortName [
24         "CUDA EULA"
25         "cuDNN EULA"
26         "cuTENSOR EULA"
27         "NVidia OptiX EULA"
28       ]
29     ) (ensureList p.meta.license);
33   # The platforms for which we build Nixpkgs.
34   supportedSystems ? [
35     "x86_64-linux"
36     "aarch64-linux"
37   ],
38   variant ? "cuda",
39   # Attributes passed to nixpkgs.
40   nixpkgsArgs ? {
41     config = {
42       inherit allowUnfreePredicate;
43       "${variant}Support" = true;
44       inHydra = true;
45     };
46   },
47   ...
48 }@args:
50 assert builtins.elem variant [
51   "cuda"
52   "rocm"
53   null
56 let
57   mkReleaseLib = import ./release-lib.nix;
58   release-lib = mkReleaseLib (
59     { inherit supportedSystems nixpkgsArgs; } // lib.intersectAttrs (lib.functionArgs mkReleaseLib) args
60   );
62   inherit (release-lib)
63     linux
64     mapTestOn
65     packagePlatforms
66     pkgs
67     ;
69   # Package sets to evaluate whole
70   packageSets = builtins.filter (lib.strings.hasPrefix "cudaPackages") (builtins.attrNames pkgs);
71   evalPackageSet = pset: mapTestOn { ${pset} = packagePlatforms pkgs.${pset}; };
73   jobs =
74     mapTestOn {
75       blas = linux;
76       blender = linux;
77       faiss = linux;
78       lapack = linux;
79       magma = linux;
80       mpich = linux;
81       openmpi = linux;
82       ucx = linux;
84       opencv = linux;
85       cctag = linux; # Failed in https://github.com/NixOS/nixpkgs/pull/233581
87       cholmod-extra = linux;
88       colmap = linux;
89       ctranslate2 = linux;
90       deepin.image-editor = linux;
91       ffmpeg-full = linux;
92       gimp = linux;
93       gpu-screen-recorder = linux;
94       gst_all_1.gst-plugins-bad = linux;
95       lightgbm = linux;
96       llama-cpp = linux;
97       meshlab = linux;
98       monado = linux; # Failed in https://github.com/NixOS/nixpkgs/pull/233581
99       noisetorch = linux;
100       obs-studio-plugins.obs-backgroundremoval = linux;
101       ollama = linux;
102       onnxruntime = linux;
103       openmvg = linux;
104       openmvs = linux;
105       opentrack = linux;
106       openvino = linux;
107       pixinsight = linux; # Failed in https://github.com/NixOS/nixpkgs/pull/233581
108       qgis = linux;
109       rtabmap = linux;
110       saga = linux;
111       suitesparse = linux;
112       truecrack-cuda = linux;
113       tts = linux;
114       ueberzugpp = linux; # Failed in https://github.com/NixOS/nixpkgs/pull/233581
115       wyoming-faster-whisper = linux;
116       xgboost = linux;
118       python3Packages = {
119         boxx = linux;
120         bpycv = linux;
121         caffe = linux;
122         catboost = linux;
123         chainer = linux;
124         cupy = linux;
125         faiss = linux;
126         faster-whisper = linux;
127         flax = linux;
128         gpt-2-simple = linux;
129         grad-cam = linux;
130         jaxlib = linux;
131         jax = linux;
132         Keras = linux;
133         kornia = linux;
134         mmcv = linux;
135         mxnet = linux;
136         numpy = linux; # Only affected by MKL?
137         onnx = linux;
138         triton = linux;
139         openai-whisper = linux;
140         opencv4 = linux;
141         opensfm = linux;
142         pycuda = linux;
143         pymc = linux;
144         pyrealsense2WithCuda = linux;
145         pytorch-lightning = linux;
146         pytorch = linux;
147         scikitimage = linux;
148         scikit-learn = linux; # Only affected by MKL?
149         scipy = linux; # Only affected by MKL?
150         spacy-transformers = linux;
151         tensorflow = linux;
152         tensorflow-probability = linux;
153         tesserocr = linux;
154         Theano = linux;
155         tiny-cuda-nn = linux;
156         torchaudio = linux;
157         torch = linux;
158         torchvision = linux;
159         transformers = linux;
160         ttstokenizer = linux;
161         vidstab = linux;
162       };
163     }
164     // (lib.genAttrs packageSets evalPackageSet);
166 jobs