lol

python3Packages.torch-bin: 1.13.1 -> 2.0.0

authored by

Junji Hashimoto and committed by
Gaetan Lepage
ad01be00 8c168726

+112 -53
+47 -14
pkgs/development/python-modules/torch/bin.nix
··· 1 1 { lib, stdenv 2 2 , buildPythonPackage 3 3 , fetchurl 4 - , isPy37 5 - , isPy38 6 - , isPy39 7 - , isPy310 8 4 , python 5 + , pythonAtLeast 6 + , pythonOlder 9 7 , addOpenGLRunpath 8 + , cudaPackages 10 9 , future 11 10 , numpy 11 + , autoPatchelfHook 12 12 , patchelf 13 13 , pyyaml 14 14 , requests 15 15 , setuptools 16 16 , typing-extensions 17 + , sympy 18 + , jinja2 19 + , networkx 20 + , filelock 21 + , openai-triton 17 22 }: 18 23 19 24 let 20 25 pyVerNoDot = builtins.replaceStrings [ "." ] [ "" ] python.pythonVersion; 21 26 srcs = import ./binary-hashes.nix version; 22 27 unsupported = throw "Unsupported system"; 23 - version = "1.13.1"; 28 + version = "2.0.0"; 24 29 in buildPythonPackage { 25 30 inherit version; 26 31 ··· 29 34 30 35 format = "wheel"; 31 36 32 - disabled = !(isPy38 || isPy39 || isPy310); 37 + disabled = (pythonOlder "3.8") || (pythonAtLeast "3.12"); 33 38 34 39 src = fetchurl srcs."${stdenv.system}-${pyVerNoDot}" or unsupported; 35 40 36 41 nativeBuildInputs = [ 37 42 addOpenGLRunpath 43 + autoPatchelfHook 44 + cudaPackages.autoAddOpenGLRunpathHook 38 45 patchelf 39 46 ]; 40 47 48 + buildInputs = with cudaPackages; [ 49 + # $out/${sitePackages}/nvfuser/_C*.so wants libnvToolsExt.so.1 but torch/lib only ships 50 + # libnvToolsExt-$hash.so.1 51 + cuda_nvtx 52 + ]; 53 + 54 + autoPatchelfIgnoreMissingDeps = [ 55 + # This is the hardware-dependent userspace driver that comes from 56 + # nvidia_x11 package. It must be deployed at runtime in 57 + # /run/opengl-driver/lib or pointed at by LD_LIBRARY_PATH variable, rather 58 + # than pinned in runpath 59 + "libcuda.so.1" 60 + ]; 61 + 41 62 propagatedBuildInputs = [ 42 63 future 43 64 numpy ··· 45 66 requests 46 67 setuptools 47 68 typing-extensions 69 + sympy 70 + jinja2 71 + networkx 72 + filelock 73 + ] ++ lib.optionals stdenv.isx86_64 [ 74 + openai-triton 48 75 ]; 49 76 50 77 postInstall = '' ··· 52 79 rm -rf $out/bin 53 80 ''; 54 81 55 - postFixup = let 56 - rpath = lib.makeLibraryPath [ stdenv.cc.cc.lib ]; 57 - in '' 58 - find $out/${python.sitePackages}/torch/lib -type f \( -name '*.so' -or -name '*.so.*' \) | while read lib; do 59 - echo "setting rpath for $lib..." 60 - patchelf --set-rpath "${rpath}:$out/${python.sitePackages}/torch/lib" "$lib" 61 - addOpenGLRunpath "$lib" 62 - done 82 + postFixup = '' 83 + addAutoPatchelfSearchPath "$out/${python.sitePackages}/torch/lib" 84 + 85 + patchelf $out/${python.sitePackages}/torch/lib/libcudnn.so.8 --add-needed libcudnn_cnn_infer.so.8 86 + 87 + pushd $out/${python.sitePackages}/torch/lib || exit 1 88 + for LIBNVRTC in ./libnvrtc* 89 + do 90 + case "$LIBNVRTC" in 91 + ./libnvrtc-builtins*) true;; 92 + ./libnvrtc*) patchelf "$LIBNVRTC" --add-needed libnvrtc-builtins* ;; 93 + esac 94 + done 95 + popd || exit 1 63 96 ''; 64 97 65 98 # The wheel-binary is not stripped to avoid the error of `ImportError: libtorch_cuda_cpp.so: ELF load command address/offset not properly aligned.`.
+57 -37
pkgs/development/python-modules/torch/binary-hashes.nix
··· 6 6 # To add a new version, run "prefetch.sh 'new-version'" to paste the generated file as follows. 7 7 8 8 version : builtins.getAttr version { 9 - "1.13.1" = { 9 + "2.0.0" = { 10 10 x86_64-linux-38 = { 11 - name = "torch-1.13.1-cp38-cp38-linux_x86_64.whl"; 12 - url = "https://download.pytorch.org/whl/cu117/torch-1.13.1%2Bcu117-cp38-cp38-linux_x86_64.whl"; 13 - hash = "sha256-u/lUbw0Ni1EmPKR5Y3tCaogzX8oANPQs7GPU0y3uBa8="; 11 + name = "torch-2.0.0-cp38-cp38-linux_x86_64.whl"; 12 + url = "https://download.pytorch.org/whl/cu118/torch-2.0.0%2Bcu118-cp38-cp38-linux_x86_64.whl"; 13 + hash = "sha256-H4766/y7fsOWL9jHw74CxmZu/1OhIEMAanSdZHZWFj4="; 14 14 }; 15 15 x86_64-linux-39 = { 16 - name = "torch-1.13.1-cp39-cp39-linux_x86_64.whl"; 17 - url = "https://download.pytorch.org/whl/cu117/torch-1.13.1%2Bcu117-cp39-cp39-linux_x86_64.whl"; 18 - hash = "sha256-s6wTng1KCzA8wW9R63cUbsfRTAsecCrWOGE2KPUIavc="; 16 + name = "torch-2.0.0-cp39-cp39-linux_x86_64.whl"; 17 + url = "https://download.pytorch.org/whl/cu118/torch-2.0.0%2Bcu118-cp39-cp39-linux_x86_64.whl"; 18 + hash = "sha256-6rl6n+WefjHWVisYb0NecXsd8zMcrcd25sBzIjmp7Tk="; 19 19 }; 20 20 x86_64-linux-310 = { 21 - name = "torch-1.13.1-cp310-cp310-linux_x86_64.whl"; 22 - url = "https://download.pytorch.org/whl/cu117/torch-1.13.1%2Bcu117-cp310-cp310-linux_x86_64.whl"; 23 - hash = "sha256-FMXJ2wnfjPGzlCo0ecd52m4pOoShYtimrHHiveMOMMU="; 21 + name = "torch-2.0.0-cp310-cp310-linux_x86_64.whl"; 22 + url = "https://download.pytorch.org/whl/cu118/torch-2.0.0%2Bcu118-cp310-cp310-linux_x86_64.whl"; 23 + hash = "sha256-S2kOK3fyEHNQDGXYu56pZWuMtOlp81c3C7yZKjsHR2Q="; 24 + }; 25 + x86_64-linux-311 = { 26 + name = "torch-2.0.0-cp311-cp311-linux_x86_64.whl"; 27 + url = "https://download.pytorch.org/whl/cu118/torch-2.0.0%2Bcu118-cp311-cp311-linux_x86_64.whl"; 28 + hash = "sha256-I4Vz02LFZBE0UQRvZwjDuBWP5rG39sA7cnMyfZVd61Q="; 24 29 }; 25 30 x86_64-darwin-38 = { 26 - name = "torch-1.13.1-cp38-none-macosx_10_9_x86_64.whl"; 27 - url = "https://download.pytorch.org/whl/cpu/torch-1.13.1-cp38-none-macosx_10_9_x86_64.whl"; 28 - hash = "sha256-M+Z+6lJuC7uRUSY+ZUF6nvLY+lPL5ijocxAGDJ3PoxI="; 31 + name = "torch-2.0.0-cp38-none-macosx_10_9_x86_64.whl"; 32 + url = "https://download.pytorch.org/whl/cpu/torch-2.0.0-cp38-none-macosx_10_9_x86_64.whl"; 33 + hash = "sha256-zHiMu7vG60yQ5SxVDv0GdYbCaTCSzzZ8E1s0iTpkrng="; 29 34 }; 30 35 x86_64-darwin-39 = { 31 - name = "torch-1.13.1-cp39-none-macosx_10_9_x86_64.whl"; 32 - url = "https://download.pytorch.org/whl/cpu/torch-1.13.1-cp39-none-macosx_10_9_x86_64.whl"; 33 - hash = "sha256-aTB5HvqHV8tpdK9z1Jlra1DFkogqMkuPsFicapui3a8="; 36 + name = "torch-2.0.0-cp39-none-macosx_10_9_x86_64.whl"; 37 + url = "https://download.pytorch.org/whl/cpu/torch-2.0.0-cp39-none-macosx_10_9_x86_64.whl"; 38 + hash = "sha256-bguXvrA3oWVmnDElkfJCOC6RCaJA4gBU1aV4LZI2ytA="; 34 39 }; 35 40 x86_64-darwin-310 = { 36 - name = "torch-1.13.1-cp310-none-macosx_10_9_x86_64.whl"; 37 - url = "https://download.pytorch.org/whl/cpu/torch-1.13.1-cp310-none-macosx_10_9_x86_64.whl"; 38 - hash = "sha256-OTpic8gy4EdYEGP7dDNf9QtMVmIXAZzGrOMYzXnrBWY="; 41 + name = "torch-2.0.0-cp310-none-macosx_10_9_x86_64.whl"; 42 + url = "https://download.pytorch.org/whl/cpu/torch-2.0.0-cp310-none-macosx_10_9_x86_64.whl"; 43 + hash = "sha256-zptaSb1RPf95UKWgfW4mWU3VGYnO4FujiLA+jjZv1dU="; 44 + }; 45 + x86_64-darwin-311 = { 46 + name = "torch-2.0.0-cp311-none-macosx_10_9_x86_64.whl"; 47 + url = "https://download.pytorch.org/whl/cpu/torch-2.0.0-cp311-none-macosx_10_9_x86_64.whl"; 48 + hash = "sha256-AYWGIPJfJeep7EtUf/OOXifJLTjsTMupz7+zHXBx7Zw="; 39 49 }; 40 50 aarch64-darwin-38 = { 41 - name = "torch-1.13.1-cp38-none-macosx_11_0_arm64.whl"; 42 - url = "https://download.pytorch.org/whl/cpu/torch-1.13.1-cp38-none-macosx_11_0_arm64.whl"; 43 - hash = "sha256-7usgTTD9QK9qLYCHm0an77489Dzb64g43U89EmzJCys="; 51 + name = "torch-2.0.0-cp38-none-macosx_11_0_arm64.whl"; 52 + url = "https://download.pytorch.org/whl/cpu/torch-2.0.0-cp38-none-macosx_11_0_arm64.whl"; 53 + hash = "sha256-0pJkDw/XK3oxsqbjtjXrUGX8vt1EePnK0aHnqeyGHTU="; 44 54 }; 45 55 aarch64-darwin-39 = { 46 - name = "torch-1.13.1-cp39-none-macosx_11_0_arm64.whl"; 47 - url = "https://download.pytorch.org/whl/cpu/torch-1.13.1-cp39-none-macosx_11_0_arm64.whl"; 48 - hash = "sha256-4N+QKnx91seVaYUy7llwzomGcmJWNdiF6t6ZduWgSUk="; 56 + name = "torch-2.0.0-cp39-none-macosx_11_0_arm64.whl"; 57 + url = "https://download.pytorch.org/whl/cpu/torch-2.0.0-cp39-none-macosx_11_0_arm64.whl"; 58 + hash = "sha256-KXpJGa/xwPmKWOvpaSAPcTUKHU1PmG2/1gwC/854Dpk="; 49 59 }; 50 60 aarch64-darwin-310 = { 51 - name = "torch-1.13.1-cp310-none-macosx_11_0_arm64.whl"; 52 - url = "https://download.pytorch.org/whl/cpu/torch-1.13.1-cp310-none-macosx_11_0_arm64.whl"; 53 - hash = "sha256-ASKAaxEblJ0h+hpfl2TR/S/MSkfLf4/5FCBP1Px1LtU="; 61 + name = "torch-2.0.0-cp310-none-macosx_11_0_arm64.whl"; 62 + url = "https://download.pytorch.org/whl/cpu/torch-2.0.0-cp310-none-macosx_11_0_arm64.whl"; 63 + hash = "sha256-U+HDPGiWWDzbmlg2k+IumSZkRMSkM5Ld3FYmQNOeVCs="; 64 + }; 65 + aarch64-darwin-311 = { 66 + name = "torch-2.0.0-cp311-none-macosx_11_0_arm64.whl"; 67 + url = "https://download.pytorch.org/whl/cpu/torch-2.0.0-cp311-none-macosx_11_0_arm64.whl"; 68 + hash = "sha256-mi5TtXg+9YlqavM4s214LyjoPI3fwqxEtnsGbZ129Jg="; 54 69 }; 55 70 aarch64-linux-38 = { 56 - name = "torch-1.13.1-cp38-cp38-manylinux2014_aarch64.whl"; 57 - url = "https://download.pytorch.org/whl/torch-1.13.1-cp38-cp38-manylinux2014_aarch64.whl"; 58 - hash = "sha256-34Q0sGlenOuMxwZQr8ExDYupSebbKgUl3dnDsrGB5f4="; 71 + name = "torch-2.0.0-cp38-cp38-manylinux2014_aarch64.whl"; 72 + url = "https://download.pytorch.org/whl/torch-2.0.0-cp38-cp38-manylinux2014_aarch64.whl"; 73 + hash = "sha256-EbA4T+PBjAG4/FmS5w/FGc3mXkTFHMh74YOMGAPa9C8="; 59 74 }; 60 75 aarch64-linux-39 = { 61 - name = "torch-1.13.1-cp39-cp39-manylinux2014_aarch64.whl"; 62 - url = "https://download.pytorch.org/whl/torch-1.13.1-cp39-cp39-manylinux2014_aarch64.whl"; 63 - hash = "sha256-LDWBo/2B6x8PIpl83f/qVp/qU7r6NyssBHHbNzsmqvw="; 76 + name = "torch-2.0.0-cp39-cp39-manylinux2014_aarch64.whl"; 77 + url = "https://download.pytorch.org/whl/torch-2.0.0-cp39-cp39-manylinux2014_aarch64.whl"; 78 + hash = "sha256-qDsmvWrjb79f7j1Wlz2YFuIALoo7fZIFUxFnwoqqOKc="; 64 79 }; 65 80 aarch64-linux-310 = { 66 - name = "torch-1.13.1-cp310-cp310-manylinux2014_aarch64.whl"; 67 - url = "https://download.pytorch.org/whl/torch-1.13.1-cp310-cp310-manylinux2014_aarch64.whl"; 68 - hash = "sha256-2f54XTdfLial1eul3pH4nmo75dEe+0l+dnBf35P6PC4="; 81 + name = "torch-2.0.0-cp310-cp310-manylinux2014_aarch64.whl"; 82 + url = "https://download.pytorch.org/whl/torch-2.0.0-cp310-cp310-manylinux2014_aarch64.whl"; 83 + hash = "sha256-nwH+H2Jj8xvQThdXlG/WOtUxrjfyi7Lb9m9cgm7gifQ="; 84 + }; 85 + aarch64-linux-311 = { 86 + name = "torch-2.0.0-cp311-cp311-manylinux2014_aarch64.whl"; 87 + url = "https://download.pytorch.org/whl/torch-2.0.0-cp311-cp311-manylinux2014_aarch64.whl"; 88 + hash = "sha256-1Dmuw0nJjxKBnoVkuMVACORhPdRChYKvDm4UwkyoWHA="; 69 89 }; 70 90 }; 71 91 }
+5 -1
pkgs/development/python-modules/torch/prefetch.sh
··· 5 5 6 6 version=$1 7 7 8 - linux_cuda_version="cu117" 8 + linux_cuda_version="cu118" 9 9 linux_cuda_bucket="https://download.pytorch.org/whl/${linux_cuda_version}" 10 10 linux_cpu_bucket="https://download.pytorch.org/whl" 11 11 darwin_bucket="https://download.pytorch.org/whl/cpu" ··· 14 14 "x86_64-linux-38 $linux_cuda_bucket/torch-${version}%2B${linux_cuda_version}-cp38-cp38-linux_x86_64.whl torch-${version}-cp38-cp38-linux_x86_64.whl" 15 15 "x86_64-linux-39 $linux_cuda_bucket/torch-${version}%2B${linux_cuda_version}-cp39-cp39-linux_x86_64.whl torch-${version}-cp39-cp39-linux_x86_64.whl" 16 16 "x86_64-linux-310 $linux_cuda_bucket/torch-${version}%2B${linux_cuda_version}-cp310-cp310-linux_x86_64.whl torch-${version}-cp310-cp310-linux_x86_64.whl" 17 + "x86_64-linux-311 $linux_cuda_bucket/torch-${version}%2B${linux_cuda_version}-cp311-cp311-linux_x86_64.whl torch-${version}-cp311-cp311-linux_x86_64.whl" 17 18 "x86_64-darwin-38 $darwin_bucket/torch-${version}-cp38-none-macosx_10_9_x86_64.whl torch-${version}-cp38-none-macosx_10_9_x86_64.whl" 18 19 "x86_64-darwin-39 $darwin_bucket/torch-${version}-cp39-none-macosx_10_9_x86_64.whl torch-${version}-cp39-none-macosx_10_9_x86_64.whl" 19 20 "x86_64-darwin-310 $darwin_bucket/torch-${version}-cp310-none-macosx_10_9_x86_64.whl torch-${version}-cp310-none-macosx_10_9_x86_64.whl" 21 + "x86_64-darwin-311 $darwin_bucket/torch-${version}-cp311-none-macosx_10_9_x86_64.whl torch-${version}-cp311-none-macosx_10_9_x86_64.whl" 20 22 "aarch64-darwin-38 $darwin_bucket/torch-${version}-cp38-none-macosx_11_0_arm64.whl torch-${version}-cp38-none-macosx_11_0_arm64.whl" 21 23 "aarch64-darwin-39 $darwin_bucket/torch-${version}-cp39-none-macosx_11_0_arm64.whl torch-${version}-cp39-none-macosx_11_0_arm64.whl" 22 24 "aarch64-darwin-310 $darwin_bucket/torch-${version}-cp310-none-macosx_11_0_arm64.whl torch-${version}-cp310-none-macosx_11_0_arm64.whl" 25 + "aarch64-darwin-311 $darwin_bucket/torch-${version}-cp311-none-macosx_11_0_arm64.whl torch-${version}-cp311-none-macosx_11_0_arm64.whl" 23 26 "aarch64-linux-38 $linux_cpu_bucket/torch-${version}-cp38-cp38-manylinux2014_aarch64.whl torch-${version}-cp38-cp38-manylinux2014_aarch64.whl" 24 27 "aarch64-linux-39 $linux_cpu_bucket/torch-${version}-cp39-cp39-manylinux2014_aarch64.whl torch-${version}-cp39-cp39-manylinux2014_aarch64.whl" 25 28 "aarch64-linux-310 $linux_cpu_bucket/torch-${version}-cp310-cp310-manylinux2014_aarch64.whl torch-${version}-cp310-cp310-manylinux2014_aarch64.whl" 29 + "aarch64-linux-311 $linux_cpu_bucket/torch-${version}-cp311-cp311-manylinux2014_aarch64.whl torch-${version}-cp311-cp311-manylinux2014_aarch64.whl" 26 30 ) 27 31 28 32 hashfile="binary-hashes-$version.nix"
+3 -1
pkgs/top-level/python-packages.nix
··· 11936 11936 inherit (pkgs.llvmPackages_rocm) openmp; 11937 11937 }; 11938 11938 11939 - torch-bin = callPackage ../development/python-modules/torch/bin.nix { }; 11939 + torch-bin = callPackage ../development/python-modules/torch/bin.nix { 11940 + openai-triton = self.openai-triton-bin; 11941 + }; 11940 11942 11941 11943 torchWithCuda = self.torch.override { 11942 11944 magma = pkgs.magma-cuda;