From 97c3bebd92772359a3f0e03f5aa74f79e4aacfb7 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Wed, 15 Feb 2017 12:30:52 +0100 Subject: [PATCH] tensorflowCuDNN -> tensorflowWithCuda and move expression --- .../python-modules/tensorflow/cuda.nix | 52 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 36 +------------ 2 files changed, 53 insertions(+), 35 deletions(-) create mode 100644 pkgs/development/python-modules/tensorflow/cuda.nix diff --git a/pkgs/development/python-modules/tensorflow/cuda.nix b/pkgs/development/python-modules/tensorflow/cuda.nix new file mode 100644 index 0000000000000..05a4cc3e4c180 --- /dev/null +++ b/pkgs/development/python-modules/tensorflow/cuda.nix @@ -0,0 +1,52 @@ +{ stdenv +, fetchurl +, buildPythonPackage +, swig +, numpy +, six +, protobuf3_0 +, cudatoolkit75 +, cudnn5_cudatoolkit75 +, gcc49 +, zlib +, linuxPackages +, mock +}: + +buildPythonPackage rec { + pname = "tensorflow"; + version = "0.11.0rc0"; + name = "${pname}-${version}"; + format = "wheel"; + + src = fetchurl { + url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-${version}-cp27-none-linux_x86_64.whl"; + sha256 = "1r8zlz95sw7bnjzg5zdbpa9dj8wmp8cvvgyl9sv3amsscagnnfj5"; + }; + + buildInputs = [ swig ]; + propagatedBuildInputs = [ numpy six protobuf3_0 cudatoolkit75 cudnn5_cudatoolkit75 gcc49 mock ]; + + # Note that we need to run *after* the fixup phase because the + # libraries are loaded at runtime. If we run in preFixup then + # patchelf --shrink-rpath will remove the cuda libraries. + postFixup = let + rpath = stdenv.lib.makeLibraryPath [ + gcc49.cc.lib + zlib cudatoolkit75 + cudnn5_cudatoolkit75 + linuxPackages.nvidia_x11 + ]; + in '' + find $out -name '*.so' -exec patchelf --set-rpath "${rpath}" {} \; + ''; + + doCheck = false; + + meta = with stdenv.lib; { + description = "TensorFlow helps the tensors flow (no gpu support)"; + homepage = http://tensorflow.org; + license = licenses.asl20; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 1fb98a6552448..0b4e8a3443dd7 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -31247,41 +31247,7 @@ EOF tensorflowWithoutCuda = callPackage ../development/python-modules/tensorflow { }; - - tensorflowCuDNN = buildPythonPackage rec { - name = "tensorflow"; - version = "0.11.0rc0"; - format = "wheel"; - - src = pkgs.fetchurl { - url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-${version}-cp27-none-linux_x86_64.whl"; - sha256 = "1r8zlz95sw7bnjzg5zdbpa9dj8wmp8cvvgyl9sv3amsscagnnfj5"; - }; - - buildInputs = with self; [ pkgs.swig ]; - propagatedBuildInputs = with self; [ numpy six protobuf3_0 pkgs.cudatoolkit75 pkgs.cudnn5_cudatoolkit75 pkgs.gcc49 self.mock ]; - - # Note that we need to run *after* the fixup phase because the - # libraries are loaded at runtime. If we run in preFixup then - # patchelf --shrink-rpath will remove the cuda libraries. - postFixup = let rpath = stdenv.lib.makeLibraryPath [ - pkgs.gcc49.cc.lib - pkgs.zlib pkgs.cudatoolkit75 - pkgs.cudnn5_cudatoolkit75 - pkgs.linuxPackages.nvidia_x11 - ]; in '' - find $out -name '*.so' -exec patchelf --set-rpath "${rpath}" {} \; - ''; - - doCheck = false; - - meta = { - description = "TensorFlow helps the tensors flow (no gpu support)"; - homepage = http://tensorflow.org; - license = licenses.asl20; - platforms = platforms.linux; - }; - }; + tensorflowWithCuda = callPackage ../development/python-modules/tensorflow/cuda.nix { }; tflearn = buildPythonPackage rec { name = "tflearn-0.2.1";