From 4f876309fee0eabe5d48d2dc4e577266c61fe9f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20de=20Kok?= Date: Sat, 10 Apr 2021 08:08:08 +0200 Subject: [PATCH] python3Packages.pytorch: convert boolean environment variables We relied on the stdenv serialization for booleans. However, the PyTorch configure script expects 0/1. So convert the options to 0/1 values. --- pkgs/development/python-modules/pytorch/default.nix | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/pytorch/default.nix b/pkgs/development/python-modules/pytorch/default.nix index 22a87b386e18..225bba02c61c 100644 --- a/pkgs/development/python-modules/pytorch/default.nix +++ b/pkgs/development/python-modules/pytorch/default.nix @@ -38,6 +38,7 @@ assert !(MPISupport && cudaSupport) || mpi.cudatoolkit == cudatoolkit; assert !cudaSupport || magma.cudatoolkit == cudatoolkit; let + setBool = v: if v then "1" else "0"; cudatoolkit_joined = symlinkJoin { name = "${cudatoolkit.name}-unsplit"; # nccl is here purely for semantic grouping it could be moved to nativeBuildInputs @@ -160,16 +161,16 @@ in buildPythonPackage rec { # Use pytorch's custom configurations dontUseCmakeConfigure = true; - BUILD_NAMEDTENSOR = true; - BUILD_DOCS = buildDocs; + BUILD_NAMEDTENSOR = setBool true; + BUILD_DOCS = setBool buildDocs; - USE_MKL = blas.implementation == "mkl"; + USE_MKL = setBool (blas.implementation == "mkl"); # Unlike MKL, oneDNN (née MKLDNN) is FOSS, so we enable support for # it by default. PyTorch currently uses its own vendored version # of oneDNN through Intel iDeep. - USE_MKLDNN = mklDnnSupport; - USE_MKLDNN_CBLAS = mklDnnSupport; + USE_MKLDNN = setBool mklDnnSupport; + USE_MKLDNN_CBLAS = setBool mklDnnSupport; preBuild = '' export MAX_JOBS=$NIX_BUILD_CORES @@ -198,7 +199,7 @@ in buildPythonPackage rec { PYTORCH_BUILD_VERSION = version; PYTORCH_BUILD_NUMBER = 0; - USE_SYSTEM_NCCL=useSystemNccl; # don't build pytorch's third_party NCCL + USE_SYSTEM_NCCL=setBool useSystemNccl; # don't build pytorch's third_party NCCL # Suppress a weird warning in mkl-dnn, part of ideep in pytorch # (upstream seems to have fixed this in the wrong place?)