diff options
author | Connor Baker <connor.baker@tweag.io> | 2023-12-07 16:27:59 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-07 16:27:59 -0500 |
commit | a94a70789facdd0fe5b88cad52efbfb0a524e511 (patch) | |
tree | 5017971af091f01a0f8a1b6a94ecbe62ad038c69 /pkgs | |
parent | 7b8be9c3351eea950086054036993e21134e07ee (diff) | |
parent | 855a7ba029eaf78c959c88b36fdf5760742b2b1e (diff) |
Merge pull request #272761 from ConnorBaker/fix/caffe-eval
caffe: fix eval when CUDNN is not available
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/applications/science/math/caffe/default.nix | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/pkgs/applications/science/math/caffe/default.nix b/pkgs/applications/science/math/caffe/default.nix index 42c160393595b..6595f0b846ddb 100644 --- a/pkgs/applications/science/math/caffe/default.nix +++ b/pkgs/applications/science/math/caffe/default.nix @@ -26,24 +26,17 @@ let # The default for cudatoolkit 10.1 is CUDNN 8.0.5, the last version to support CUDA 10.1. # However, this caffe does not build with CUDNN 8.x, so we use CUDNN 7.6.5 instead. # Earlier versions of cudatoolkit use pre-8.x CUDNN, so we use the default. - cudnn = if lib.versionOlder cudatoolkit.version "10.1" - then cudaPackages.cudnn - else cudaPackages.cudnn_7_6; -in - -assert leveldbSupport -> (leveldb != null && snappy != null); -assert cudnnSupport -> cudaSupport; -assert ncclSupport -> cudaSupport; -assert pythonSupport -> (python != null && numpy != null); + hasCudnn = + if lib.versionOlder cudatoolkit.version "10.1" + then cudaPackages ? cudnn + else cudaPackages ? cudnn_7_6; -let toggle = bool: if bool then "ON" else "OFF"; test_model_weights = fetchurl { url = "http://dl.caffe.berkeleyvision.org/bvlc_reference_caffenet.caffemodel"; sha256 = "472d4a06035497b180636d8a82667129960371375bd10fcb6df5c6c7631f25e0"; }; - in stdenv.mkDerivation rec { @@ -74,7 +67,8 @@ stdenv.mkDerivation rec { buildInputs = [ boost gflags glog protobuf hdf5-cpp opencv4 blas ] ++ lib.optional cudaSupport cudatoolkit - ++ lib.optional cudnnSupport cudnn + ++ lib.optional (lib.versionOlder cudatoolkit.version "10.1" && hasCudnn) cudaPackages.cudnn + ++ lib.optional (lib.versionAtLeast cudatoolkit.version "10.1" && hasCudnn) cudaPackages.cudnn_7_6 ++ lib.optional lmdbSupport lmdb ++ lib.optional ncclSupport nccl ++ lib.optionals leveldbSupport [ leveldb snappy ] @@ -154,7 +148,14 @@ stdenv.mkDerivation rec { ''; homepage = "http://caffe.berkeleyvision.org/"; maintainers = with maintainers; [ ]; - broken = (pythonSupport && (python.isPy310)) || cudaSupport; + broken = + (pythonSupport && (python.isPy310)) + || cudaSupport + || !(leveldbSupport -> (leveldb != null && snappy != null)) + || !(cudnnSupport -> (hasCudnn && cudaSupport)) + || !(ncclSupport -> cudaSupport) + || !(pythonSupport -> (python != null && numpy != null)) + ; license = licenses.bsd2; platforms = platforms.linux ++ platforms.darwin; }; |