1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-11-19 04:02:10 +00:00

Merge pull request #324379 from SomeoneSerge/feat/release-cuda

release-cuda: build with config.cudaSupport
This commit is contained in:
Someone 2024-07-05 04:19:33 +00:00 committed by GitHub
commit 4b42a2b912
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,60 +1,163 @@
/*
Test CUDA packages.
This release file will not be tested on hydra.nixos.org
because it requires unfree software.
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.
Cf. https://github.com/nix-community/infra/pull/1335
Test for example like this:
$ hydra-eval-jobs pkgs/top-level/release-cuda.nix --option restrict-eval false -I foo=. --arg nixpkgs '{ outPath = ./.; revCount = 0; shortRev = "aabbcc"; }'
$ hydra-eval-jobs pkgs/top-level/release-cuda.nix -I .
*/
{ # The platforms for which we build Nixpkgs.
let
ensureList = x: if builtins.isList x then x else [ x ];
allowUnfreePredicate =
p:
builtins.all (
license:
license.free
|| license.redistributable
|| builtins.elem license.shortName [
"CUDA EULA"
"cuDNN EULA"
"NVidia OptiX EULA"
]
) (ensureList p.meta.license);
in
{
# The platforms for which we build Nixpkgs.
supportedSystems ? [
"x86_64-linux"
]
, # Attributes passed to nixpkgs.
nixpkgsArgs ? { config = { allowUnfree = true; inHydra = true; }; }
"aarch64-linux"
],
variant ? "cuda",
# Attributes passed to nixpkgs.
nixpkgsArgs ? {
config = {
inherit allowUnfreePredicate;
"${variant}Support" = true;
inHydra = true;
};
},
}:
assert builtins.elem variant [
"cuda"
"rocm"
null
];
let
release-lib = import ./release-lib.nix {
inherit supportedSystems nixpkgsArgs;
};
release-lib = import ./release-lib.nix { inherit supportedSystems nixpkgsArgs; };
inherit (release-lib) linux mapTestOn packagePlatforms pkgs;
inherit (release-lib.lib) genAttrs;
# Package sets to evaluate
packageSets = [
"cudaPackages_10_0"
"cudaPackages_10_1"
"cudaPackages_10_2"
"cudaPackages_10"
"cudaPackages_11_0"
"cudaPackages_11_1"
"cudaPackages_11_2"
"cudaPackages_11_3"
"cudaPackages_11_4"
"cudaPackages_11_5"
"cudaPackages_11_6"
"cudaPackages_11"
"cudaPackages"
];
inherit (release-lib) lib;
inherit (release-lib)
linux
mapTestOn
packagePlatforms
pkgs
;
# Package sets to evaluate whole
packageSets = builtins.filter (lib.strings.hasPrefix "cudaPackages") (builtins.attrNames pkgs);
evalPackageSet = pset: mapTestOn { ${pset} = packagePlatforms pkgs.${pset}; };
jobs = (mapTestOn ({
# Packages to evaluate
python3.pkgs.caffeWithCuda = linux;
python3.pkgs.jaxlibWithCuda = linux;
python3.pkgs.libgpuarray = linux;
python3.pkgs.tensorflowWithCuda = linux;
python3.pkgs.pyrealsense2WithCuda = linux;
python3.pkgs.torchWithCuda = linux;
python3.pkgs.jaxlib = linux;
}) // (genAttrs packageSets evalPackageSet));
jobs =
mapTestOn {
blas = linux;
blender = linux;
faiss = linux;
lapack = linux;
magma = linux;
mpich = linux;
openmpi = linux;
ucx = linux;
in jobs
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;
libgpuarray = linux;
mmcv = linux;
mxnet = linux;
numpy = linux; # Only affected by MKL?
onnx = linux;
openai-triton = linux;
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