Merge pull request #329823 from ExpidusOS/fix/pkgsllvm/elfutils
[NixPkgs.git] / pkgs / top-level / release-cuda.nix
blobd5614c55b98decc36b521782b74db4019755cbb4
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   ensureList = x: if builtins.isList x then x else [ x ];
17   allowUnfreePredicate =
18     p:
19     builtins.all (
20       license:
21       license.free
22       || builtins.elem license.shortName [
23         "CUDA EULA"
24         "cuDNN EULA"
25         "cuTENSOR EULA"
26         "NVidia OptiX EULA"
27       ]
28     ) (ensureList p.meta.license);
32   # The platforms for which we build Nixpkgs.
33   supportedSystems ? [
34     "x86_64-linux"
35     "aarch64-linux"
36   ],
37   variant ? "cuda",
38   # Attributes passed to nixpkgs.
39   nixpkgsArgs ? {
40     config = {
41       inherit allowUnfreePredicate;
42       "${variant}Support" = true;
43       inHydra = true;
44     };
45   },
48 assert builtins.elem variant [
49   "cuda"
50   "rocm"
51   null
54 let
55   release-lib = import ./release-lib.nix { inherit supportedSystems nixpkgsArgs; };
57   inherit (release-lib) lib;
58   inherit (release-lib)
59     linux
60     mapTestOn
61     packagePlatforms
62     pkgs
63     ;
65   # Package sets to evaluate whole
66   packageSets = builtins.filter (lib.strings.hasPrefix "cudaPackages") (builtins.attrNames pkgs);
67   evalPackageSet = pset: mapTestOn { ${pset} = packagePlatforms pkgs.${pset}; };
69   jobs =
70     mapTestOn {
71       blas = linux;
72       blender = linux;
73       faiss = linux;
74       lapack = linux;
75       magma = linux;
76       mpich = linux;
77       openmpi = linux;
78       ucx = linux;
80       opencv = linux;
81       cctag = linux; # Failed in https://github.com/NixOS/nixpkgs/pull/233581
83       cholmod-extra = linux;
84       colmap = linux;
85       ctranslate2 = linux;
86       deepin.image-editor = linux;
87       ffmpeg-full = linux;
88       gimp = linux;
89       gpu-screen-recorder = linux;
90       gst_all_1.gst-plugins-bad = linux;
91       lightgbm = linux;
92       llama-cpp = linux;
93       meshlab = linux;
94       monado = linux; # Failed in https://github.com/NixOS/nixpkgs/pull/233581
95       noisetorch = linux;
96       obs-studio-plugins.obs-backgroundremoval = linux;
97       ollama = linux;
98       onnxruntime = linux;
99       openmvg = linux;
100       openmvs = linux;
101       opentrack = linux;
102       openvino = linux;
103       pixinsight = linux; # Failed in https://github.com/NixOS/nixpkgs/pull/233581
104       qgis = linux;
105       rtabmap = linux;
106       saga = linux;
107       suitesparse = linux;
108       truecrack-cuda = linux;
109       tts = linux;
110       ueberzugpp = linux; # Failed in https://github.com/NixOS/nixpkgs/pull/233581
111       wyoming-faster-whisper = linux;
112       xgboost = linux;
114       python3Packages = {
115         boxx = linux;
116         bpycv = linux;
117         caffe = linux;
118         catboost = linux;
119         chainer = linux;
120         cupy = linux;
121         faiss = linux;
122         faster-whisper = linux;
123         flax = linux;
124         gpt-2-simple = linux;
125         grad-cam = linux;
126         jaxlib = linux;
127         jax = linux;
128         Keras = linux;
129         kornia = linux;
130         libgpuarray = linux;
131         mmcv = linux;
132         mxnet = linux;
133         numpy = linux; # Only affected by MKL?
134         onnx = linux;
135         triton = linux;
136         openai-whisper = linux;
137         opencv4 = linux;
138         opensfm = linux;
139         pycuda = linux;
140         pymc = linux;
141         pyrealsense2WithCuda = linux;
142         pytorch-lightning = linux;
143         pytorch = linux;
144         scikitimage = linux;
145         scikit-learn = linux; # Only affected by MKL?
146         scipy = linux; # Only affected by MKL?
147         spacy-transformers = linux;
148         tensorflow = linux;
149         tensorflow-probability = linux;
150         tesserocr = linux;
151         Theano = linux;
152         tiny-cuda-nn = linux;
153         torchaudio = linux;
154         torch = linux;
155         torchvision = linux;
156         transformers = linux;
157         ttstokenizer = linux;
158         vidstab = linux;
159       };
160     }
161     // (lib.genAttrs packageSets evalPackageSet);
163 jobs