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:
commit
4b42a2b912
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue