Merge pull request #167250 from SomeoneSerge/bump-cudatoolkit
cudatoolkit: 10.2 -> 11.5
This commit is contained in:
commit
a7bbda4271
|
@ -138,6 +138,7 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
homepage = "http://caffe.berkeleyvision.org/";
|
||||
maintainers = with maintainers; [ ];
|
||||
broken = pythonSupport && (python.isPy310);
|
||||
license = licenses.bsd2;
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
};
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
, opencv3, gtest, blas, gomp, llvmPackages, perl
|
||||
, cudaSupport ? config.cudaSupport or false, cudatoolkit, nvidia_x11
|
||||
, cudnnSupport ? cudaSupport, cudnn
|
||||
, cudaCapabilities ? [ "3.7" "5.0" "6.0" "7.0" "7.5" "8.0" "8.6" ]
|
||||
}:
|
||||
|
||||
assert cudnnSupport -> cudaSupport;
|
||||
|
@ -44,6 +45,7 @@ stdenv.mkDerivation rec {
|
|||
"-DUSE_OLDCMAKECUDA=ON" # see https://github.com/apache/incubator-mxnet/issues/10743
|
||||
"-DCUDA_ARCH_NAME=All"
|
||||
"-DCUDA_HOST_COMPILER=${cudatoolkit.cc}/bin/cc"
|
||||
"-DMXNET_CUDA_ARCH=${lib.concatStringsSep ";" cudaCapabilities}"
|
||||
] else [ "-DUSE_CUDA=OFF" ])
|
||||
++ lib.optional (!cudnnSupport) "-DUSE_CUDNN=OFF";
|
||||
|
||||
|
@ -60,6 +62,12 @@ stdenv.mkDerivation rec {
|
|||
rm "$out"/lib/*.a
|
||||
'';
|
||||
|
||||
# used to mark cudaSupport in python310Packages.mxnet as broken;
|
||||
# other attributes exposed for consistency
|
||||
passthru = {
|
||||
inherit cudaSupport cudnnSupport cudatoolkit cudnn;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler";
|
||||
homepage = "https://mxnet.incubator.apache.org/";
|
||||
|
|
|
@ -90,5 +90,5 @@ rec {
|
|||
# latest cudnn, nccl, cutensor, etc! It sometimes happens that CUDA versions
|
||||
# are released prior to compatibility with the rest of the ecosystem. And
|
||||
# don't forget to request a review from @NixOS/cuda-maintainers!
|
||||
cudatoolkit_11 = cudatoolkit_11_5;
|
||||
cudatoolkit_11 = cudatoolkit_11_5; # update me to 11_6 when cudnn>=8.3.3
|
||||
}
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
{ config, lib, stdenv, fetchFromGitHub, cmake, pkg-config, xorg, libGLU
|
||||
, libGL, glew, ocl-icd, python3
|
||||
, cudaSupport ? config.cudaSupport or false, cudatoolkit
|
||||
# For visibility mostly. The whole approach to cuda architectures and capabilities
|
||||
# will be reworked soon.
|
||||
, cudaArch ? "compute_37"
|
||||
, openclSupport ? !cudaSupport
|
||||
, darwin
|
||||
}:
|
||||
|
||||
|
@ -24,7 +28,7 @@ stdenv.mkDerivation rec {
|
|||
glew xorg.libX11 xorg.libXrandr xorg.libXxf86vm xorg.libXcursor
|
||||
xorg.libXinerama xorg.libXi
|
||||
]
|
||||
++ lib.optional (!stdenv.isDarwin) ocl-icd
|
||||
++ lib.optional (openclSupport && !stdenv.isDarwin) ocl-icd
|
||||
++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [OpenCL Cocoa CoreVideo IOKit AppKit AGL ])
|
||||
++ lib.optional cudaSupport cudatoolkit;
|
||||
|
||||
|
@ -37,8 +41,10 @@ stdenv.mkDerivation rec {
|
|||
"-DGLEW_INCLUDE_DIR=${glew.dev}/include"
|
||||
"-DGLEW_LIBRARY=${glew.dev}/lib"
|
||||
] ++ lib.optionals cudaSupport [
|
||||
"-DOSD_CUDA_NVCC_FLAGS=--gpu-architecture=compute_30"
|
||||
"-DOSD_CUDA_NVCC_FLAGS=--gpu-architecture=${cudaArch}"
|
||||
"-DCUDA_HOST_COMPILER=${cudatoolkit.cc}/bin/cc"
|
||||
] ++ lib.optionals (!openclSupport) [
|
||||
"-DNO_OPENCL=1"
|
||||
];
|
||||
|
||||
postInstall = "rm $out/lib/*.a";
|
||||
|
@ -46,6 +52,7 @@ stdenv.mkDerivation rec {
|
|||
meta = {
|
||||
description = "An Open-Source subdivision surface library";
|
||||
homepage = "http://graphics.pixar.com/opensubdiv";
|
||||
broken = openclSupport && cudaSupport;
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = [ lib.maintainers.eelco ];
|
||||
license = lib.licenses.asl20;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ lib, buildPythonPackage, fetchFromGitHub, isPy3k
|
||||
{ config, lib, buildPythonPackage, fetchFromGitHub, isPy3k
|
||||
, filelock, protobuf, numpy, pytestCheckHook, mock, typing-extensions
|
||||
, cupy, cudaSupport ? false
|
||||
, cupy, cudaSupport ? config.cudaSupport or false
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
|
@ -39,6 +39,8 @@ buildPythonPackage rec {
|
|||
meta = with lib; {
|
||||
description = "A flexible framework of neural networks for deep learning";
|
||||
homepage = "https://chainer.org/";
|
||||
# Un-break me when updating chainer next time!
|
||||
broken = cudaSupport && (lib.versionAtLeast cupy.version "8.0.0");
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ hyphon81 ];
|
||||
};
|
||||
|
|
|
@ -6,10 +6,11 @@
|
|||
, graphviz
|
||||
, python
|
||||
, isPy3k
|
||||
, isPy310
|
||||
}:
|
||||
|
||||
buildPythonPackage {
|
||||
inherit (pkgs.mxnet) pname version src meta;
|
||||
inherit (pkgs.mxnet) pname version src;
|
||||
|
||||
buildInputs = [ pkgs.mxnet ];
|
||||
propagatedBuildInputs = [ requests numpy graphviz ];
|
||||
|
@ -32,4 +33,7 @@ buildPythonPackage {
|
|||
ln -s ${pkgs.mxnet}/lib/libmxnet.so $out/${python.sitePackages}/mxnet
|
||||
'';
|
||||
|
||||
meta = pkgs.mxnet.meta // {
|
||||
broken = (pkgs.mxnet.broken or false) || (isPy310 && pkgs.mxnet.cudaSupport);
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchpatch,
|
||||
fetchFromGitHub,
|
||||
opencl-headers,
|
||||
cmake,
|
||||
|
@ -31,6 +32,21 @@ stdenv.mkDerivation rec {
|
|||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
patches = [
|
||||
# global context library is separated from libethash
|
||||
./add-global-context.patch
|
||||
|
||||
# CUDA 11 no longer support SM30
|
||||
(fetchpatch {
|
||||
url = "https://github.com/ethereum-mining/ethminer/commit/dae359dff28f376d4ce7ddfbd651dcd34d6dad8f.patch";
|
||||
hash = "sha256-CJGKc0rXOcKDX1u5VBzc8gyBi1Me9CNATfQzKViqtAA=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
sed -i 's/_lib_static//' libpoolprotocols/CMakeLists.txt
|
||||
'';
|
||||
|
||||
# NOTE: dbus is broken
|
||||
cmakeFlags = [
|
||||
"-DHUNTER_ENABLED=OFF"
|
||||
|
@ -64,15 +80,6 @@ stdenv.mkDerivation rec {
|
|||
cudatoolkit
|
||||
];
|
||||
|
||||
patches = [
|
||||
# global context library is separated from libethash
|
||||
./add-global-context.patch
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
sed -i 's/_lib_static//' libpoolprotocols/CMakeLists.txt
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/ethminer --prefix LD_LIBRARY_PATH : /run/opengl-driver/lib
|
||||
'';
|
||||
|
|
|
@ -33,6 +33,7 @@ gccStdenv.mkDerivation rec {
|
|||
meta = with lib; {
|
||||
description = "TrueCrack is a brute-force password cracker for TrueCrypt volumes. It works on Linux and it is optimized for Nvidia Cuda technology.";
|
||||
homepage = "https://gitlab.com/kalilinux/packages/truecrack";
|
||||
broken = cudaSupport;
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ ethancedwards8 ];
|
||||
|
|
|
@ -4625,7 +4625,7 @@ with pkgs;
|
|||
cudatoolkit_11_5
|
||||
cudatoolkit_11_6;
|
||||
|
||||
cudatoolkit = cudatoolkit_10;
|
||||
cudatoolkit = cudatoolkit_11;
|
||||
|
||||
cudnnPackages = callPackages ../development/libraries/science/math/cudnn { };
|
||||
inherit (cudnnPackages)
|
||||
|
@ -4648,7 +4648,7 @@ with pkgs;
|
|||
cudnn_8_3_cudatoolkit_11;
|
||||
|
||||
# Make sure to keep this in sync with the `cudatoolkit` version!
|
||||
cudnn = cudnn_8_3_cudatoolkit_10;
|
||||
cudnn = cudnn_8_3_cudatoolkit_11;
|
||||
|
||||
cutensorPackages = callPackages ../development/libraries/science/math/cutensor { };
|
||||
inherit (cutensorPackages)
|
||||
|
@ -4662,7 +4662,7 @@ with pkgs;
|
|||
cutensor_cudatoolkit_11_3
|
||||
cutensor_cudatoolkit_11_4;
|
||||
|
||||
cutensor = cutensor_cudatoolkit_10;
|
||||
cutensor = cutensor_cudatoolkit_11;
|
||||
|
||||
curie = callPackage ../data/fonts/curie { };
|
||||
|
||||
|
@ -26398,7 +26398,10 @@ with pkgs;
|
|||
|
||||
gpsprune = callPackage ../applications/misc/gpsprune { };
|
||||
|
||||
gpu-screen-recorder = callPackage ../applications/video/gpu-screen-recorder { };
|
||||
gpu-screen-recorder = callPackage ../applications/video/gpu-screen-recorder {
|
||||
# rm me as soon as this package gains the support for cuda 11
|
||||
cudatoolkit = cudatoolkit_10;
|
||||
};
|
||||
|
||||
gpu-screen-recorder-gtk = callPackage ../applications/video/gpu-screen-recorder/gpu-screen-recorder-gtk.nix { };
|
||||
|
||||
|
|
|
@ -8383,24 +8383,6 @@ in {
|
|||
|
||||
pytorch = callPackage ../development/python-modules/pytorch {
|
||||
cudaSupport = pkgs.config.cudaSupport or false;
|
||||
|
||||
# TODO: next time pytorch is updated (to 1.11.0, currently in staging as of
|
||||
# 2022-03-31), make the following changes:
|
||||
|
||||
# -> cudatoolk_11
|
||||
cudatoolkit = pkgs.cudatoolkit_10;
|
||||
|
||||
# -> cudnn_8_3_cudatoolkit_11
|
||||
cudnn = pkgs.cudnn_8_1_cudatoolkit_10;
|
||||
|
||||
# -> cutensor_cudatoolkit_11 (cutensor is a new dependency in v1.11.0)
|
||||
# cutensor = pkgs.cutensor_cudatoolkit_11;
|
||||
|
||||
# -> setting a custom magma should be unnecessary with v1.11.0
|
||||
magma = pkgs.magma.override { cudatoolkit = pkgs.cudatoolkit_10; };
|
||||
|
||||
# -> nccl_cudatoolkit_11
|
||||
nccl = pkgs.nccl.override { cudatoolkit = pkgs.cudatoolkit_10; };
|
||||
};
|
||||
|
||||
pytorch-bin = callPackage ../development/python-modules/pytorch/bin.nix { };
|
||||
|
|
Loading…
Reference in a new issue