2022-04-03 09:19:04 +00:00
|
|
|
/*
|
|
|
|
Test CUDA packages.
|
|
|
|
|
2024-07-04 21:11:22 +00:00
|
|
|
This release file is currently not tested on hydra.nixos.org
|
|
|
|
because it requires unfree software, but it is tested by
|
|
|
|
https://hydra.nix-community.org/jobset/nixpkgs/cuda-nixos-unstable.
|
2022-04-03 09:19:04 +00:00
|
|
|
|
2024-07-04 21:11:22 +00:00
|
|
|
Cf. https://github.com/nix-community/infra/pull/1335
|
2022-04-03 09:19:04 +00:00
|
|
|
|
2024-07-04 21:11:22 +00:00
|
|
|
Test for example like this:
|
2022-04-03 09:19:04 +00:00
|
|
|
|
2024-07-04 21:11:22 +00:00
|
|
|
$ hydra-eval-jobs pkgs/top-level/release-cuda.nix -I .
|
2022-04-03 09:19:04 +00:00
|
|
|
*/
|
|
|
|
|
2024-07-04 21:35:46 +00:00
|
|
|
let
|
|
|
|
ensureList = x: if builtins.isList x then x else [ x ];
|
|
|
|
allowUnfreePredicate =
|
|
|
|
p:
|
|
|
|
builtins.all (
|
|
|
|
license:
|
|
|
|
license.free
|
|
|
|
|| builtins.elem license.shortName [
|
|
|
|
"CUDA EULA"
|
|
|
|
"cuDNN EULA"
|
2024-07-20 17:35:07 +00:00
|
|
|
"cuTENSOR EULA"
|
2024-07-04 21:35:46 +00:00
|
|
|
"NVidia OptiX EULA"
|
|
|
|
]
|
|
|
|
) (ensureList p.meta.license);
|
|
|
|
in
|
|
|
|
|
2024-07-04 21:11:22 +00:00
|
|
|
{
|
|
|
|
# The platforms for which we build Nixpkgs.
|
2022-04-03 09:19:04 +00:00
|
|
|
supportedSystems ? [
|
|
|
|
"x86_64-linux"
|
2024-07-04 21:11:22 +00:00
|
|
|
"aarch64-linux"
|
|
|
|
],
|
|
|
|
variant ? "cuda",
|
|
|
|
# Attributes passed to nixpkgs.
|
|
|
|
nixpkgsArgs ? {
|
|
|
|
config = {
|
2024-07-04 21:35:46 +00:00
|
|
|
inherit allowUnfreePredicate;
|
2024-07-04 21:11:22 +00:00
|
|
|
"${variant}Support" = true;
|
|
|
|
inHydra = true;
|
|
|
|
};
|
|
|
|
},
|
2022-04-03 09:19:04 +00:00
|
|
|
}:
|
|
|
|
|
2024-07-04 21:11:22 +00:00
|
|
|
assert builtins.elem variant [
|
|
|
|
"cuda"
|
|
|
|
"rocm"
|
|
|
|
null
|
|
|
|
];
|
|
|
|
|
2022-04-03 09:19:04 +00:00
|
|
|
let
|
2024-07-04 21:11:22 +00:00
|
|
|
release-lib = import ./release-lib.nix { inherit supportedSystems nixpkgsArgs; };
|
|
|
|
|
|
|
|
inherit (release-lib) lib;
|
|
|
|
inherit (release-lib)
|
|
|
|
linux
|
|
|
|
mapTestOn
|
|
|
|
packagePlatforms
|
|
|
|
pkgs
|
|
|
|
;
|
2022-04-03 09:19:04 +00:00
|
|
|
|
2024-07-04 21:11:22 +00:00
|
|
|
# Package sets to evaluate whole
|
|
|
|
packageSets = builtins.filter (lib.strings.hasPrefix "cudaPackages") (builtins.attrNames pkgs);
|
2022-04-03 09:19:04 +00:00
|
|
|
evalPackageSet = pset: mapTestOn { ${pset} = packagePlatforms pkgs.${pset}; };
|
|
|
|
|
2024-07-04 21:11:22 +00:00
|
|
|
jobs =
|
|
|
|
mapTestOn {
|
|
|
|
blas = linux;
|
|
|
|
blender = linux;
|
|
|
|
faiss = linux;
|
|
|
|
lapack = linux;
|
|
|
|
magma = linux;
|
|
|
|
mpich = linux;
|
|
|
|
openmpi = linux;
|
|
|
|
ucx = linux;
|
|
|
|
|
|
|
|
opencv = linux;
|
|
|
|
cctag = linux; # Failed in https://github.com/NixOS/nixpkgs/pull/233581
|
|
|
|
|
|
|
|
cholmod-extra = linux;
|
|
|
|
colmap = linux;
|
|
|
|
ctranslate2 = linux;
|
|
|
|
deepin.image-editor = linux;
|
|
|
|
ffmpeg-full = linux;
|
|
|
|
gimp = linux;
|
|
|
|
gpu-screen-recorder = linux;
|
|
|
|
gst_all_1.gst-plugins-bad = linux;
|
|
|
|
lightgbm = linux;
|
|
|
|
llama-cpp = linux;
|
|
|
|
meshlab = linux;
|
|
|
|
monado = linux; # Failed in https://github.com/NixOS/nixpkgs/pull/233581
|
|
|
|
noisetorch = linux;
|
|
|
|
obs-studio-plugins.obs-backgroundremoval = linux;
|
|
|
|
ollama = linux;
|
|
|
|
onnxruntime = linux;
|
|
|
|
openmvg = linux;
|
|
|
|
openmvs = linux;
|
|
|
|
opentrack = linux;
|
|
|
|
openvino = linux;
|
|
|
|
pixinsight = linux; # Failed in https://github.com/NixOS/nixpkgs/pull/233581
|
|
|
|
qgis = linux;
|
|
|
|
rtabmap = linux;
|
|
|
|
saga = linux;
|
|
|
|
suitesparse = linux;
|
|
|
|
truecrack-cuda = linux;
|
|
|
|
tts = linux;
|
|
|
|
ueberzugpp = linux; # Failed in https://github.com/NixOS/nixpkgs/pull/233581
|
|
|
|
wyoming-faster-whisper = linux;
|
|
|
|
xgboost = linux;
|
|
|
|
|
|
|
|
python3Packages = {
|
|
|
|
boxx = linux;
|
|
|
|
bpycv = linux;
|
|
|
|
caffe = linux;
|
|
|
|
catboost = linux;
|
|
|
|
chainer = linux;
|
|
|
|
cupy = linux;
|
|
|
|
faiss = linux;
|
|
|
|
faster-whisper = linux;
|
|
|
|
flax = linux;
|
|
|
|
gpt-2-simple = linux;
|
|
|
|
grad-cam = linux;
|
|
|
|
jaxlib = linux;
|
|
|
|
jax = linux;
|
|
|
|
Keras = linux;
|
|
|
|
kornia = linux;
|
|
|
|
mmcv = linux;
|
|
|
|
mxnet = linux;
|
|
|
|
numpy = linux; # Only affected by MKL?
|
|
|
|
onnx = linux;
|
2024-07-18 20:24:12 +00:00
|
|
|
triton = linux;
|
2024-07-04 21:11:22 +00:00
|
|
|
openai-whisper = linux;
|
|
|
|
opencv4 = linux;
|
|
|
|
opensfm = linux;
|
|
|
|
pycuda = linux;
|
|
|
|
pymc = linux;
|
|
|
|
pyrealsense2WithCuda = linux;
|
|
|
|
pytorch-lightning = linux;
|
|
|
|
pytorch = linux;
|
|
|
|
scikitimage = linux;
|
|
|
|
scikit-learn = linux; # Only affected by MKL?
|
|
|
|
scipy = linux; # Only affected by MKL?
|
|
|
|
spacy-transformers = linux;
|
|
|
|
tensorflow = linux;
|
|
|
|
tensorflow-probability = linux;
|
|
|
|
tesserocr = linux;
|
|
|
|
Theano = linux;
|
|
|
|
tiny-cuda-nn = linux;
|
|
|
|
torchaudio = linux;
|
|
|
|
torch = linux;
|
|
|
|
torchvision = linux;
|
|
|
|
transformers = linux;
|
|
|
|
ttstokenizer = linux;
|
|
|
|
vidstab = linux;
|
|
|
|
};
|
|
|
|
}
|
|
|
|
// (lib.genAttrs packageSets evalPackageSet);
|
|
|
|
in
|
|
|
|
jobs
|