From f0501c8ed8752beb68b64dcd763bcb2493fb67f6 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Thu, 17 Oct 2024 23:39:46 +0200 Subject: [PATCH] python312Packages.torch[-bin]: 2.4.1 -> 2.5.0 Diff: https://github.com/pytorch/pytorch/compare/refs/tags/v2.4.1...2.5.0 Changelog: https://github.com/pytorch/pytorch/releases/tag/v2.5.0 --- ...ropagate-cmakeFlags-from-environment.patch | 29 ------ pkgs/development/python-modules/torch/bin.nix | 4 +- .../python-modules/torch/binary-hashes.nix | 89 ++++++++----------- .../python-modules/torch/default.nix | 21 ++--- .../passthrough-python-lib-rel-path.patch | 12 --- .../python-modules/torch/prefetch.sh | 7 +- 6 files changed, 48 insertions(+), 114 deletions(-) delete mode 100644 pkgs/development/python-modules/torch/0001-cmake.py-propagate-cmakeFlags-from-environment.patch delete mode 100644 pkgs/development/python-modules/torch/passthrough-python-lib-rel-path.patch diff --git a/pkgs/development/python-modules/torch/0001-cmake.py-propagate-cmakeFlags-from-environment.patch b/pkgs/development/python-modules/torch/0001-cmake.py-propagate-cmakeFlags-from-environment.patch deleted file mode 100644 index e30f6449c7bc..000000000000 --- a/pkgs/development/python-modules/torch/0001-cmake.py-propagate-cmakeFlags-from-environment.patch +++ /dev/null @@ -1,29 +0,0 @@ -From c5d4087519eae6f41c80bbd8ffbcc9390db44c7f Mon Sep 17 00:00:00 2001 -From: SomeoneSerge -Date: Thu, 10 Oct 2024 19:19:18 +0000 -Subject: [PATCH] cmake.py: propagate cmakeFlags from environment - ---- - tools/setup_helpers/cmake.py | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/tools/setup_helpers/cmake.py b/tools/setup_helpers/cmake.py -index 4b605fe5975..ea1d6a1ef46 100644 ---- a/tools/setup_helpers/cmake.py -+++ b/tools/setup_helpers/cmake.py -@@ -332,6 +332,12 @@ class CMake: - file=sys.stderr, - ) - print(e, file=sys.stderr) -+ -+ # Nixpkgs compat: -+ if "cmakeFlags" in os.environ: -+ import shlex -+ args.extend(shlex.split(os.environ["cmakeFlags"])) -+ - # According to the CMake manual, we should pass the arguments first, - # and put the directory as the last element. Otherwise, these flags - # may not be passed correctly. --- -2.46.0 - diff --git a/pkgs/development/python-modules/torch/bin.nix b/pkgs/development/python-modules/torch/bin.nix index bcd5008984fa..e5231fb746e7 100644 --- a/pkgs/development/python-modules/torch/bin.nix +++ b/pkgs/development/python-modules/torch/bin.nix @@ -35,7 +35,7 @@ let pyVerNoDot = builtins.replaceStrings [ "." ] [ "" ] python.pythonVersion; srcs = import ./binary-hashes.nix version; unsupported = throw "Unsupported system"; - version = "2.4.1"; + version = "2.5.0"; in buildPythonPackage { inherit version; @@ -45,7 +45,7 @@ buildPythonPackage { format = "wheel"; - disabled = (pythonOlder "3.8") || (pythonAtLeast "3.13"); + disabled = (pythonOlder "3.9") || (pythonAtLeast "3.13"); src = fetchurl srcs."${stdenv.system}-${pyVerNoDot}" or unsupported; diff --git a/pkgs/development/python-modules/torch/binary-hashes.nix b/pkgs/development/python-modules/torch/binary-hashes.nix index 1db23d136ba4..17416b27170a 100644 --- a/pkgs/development/python-modules/torch/binary-hashes.nix +++ b/pkgs/development/python-modules/torch/binary-hashes.nix @@ -7,81 +7,66 @@ version: builtins.getAttr version { - "2.4.1" = { - x86_64-linux-38 = { - name = "torch-2.4.1-cp38-cp38-linux_x86_64.whl"; - url = "https://download.pytorch.org/whl/cu121/torch-2.4.1%2Bcu121-cp38-cp38-linux_x86_64.whl"; - hash = "sha256-y09QL5ELR+HjZsz3sjHawpZ9LvtH1LjLM/xjtLxe7tg="; - }; + "2.5.0" = { x86_64-linux-39 = { - name = "torch-2.4.1-cp39-cp39-linux_x86_64.whl"; - url = "https://download.pytorch.org/whl/cu121/torch-2.4.1%2Bcu121-cp39-cp39-linux_x86_64.whl"; - hash = "sha256-mYatNVXd//Vekl2CmPiytJEGp9xg+BGiB2pEX+RFjis="; + name = "torch-2.5.0-cp39-cp39-linux_x86_64.whl"; + url = "https://download.pytorch.org/whl/cu124/torch-2.5.0%2Bcu124-cp39-cp39-linux_x86_64.whl"; + hash = "sha256-Z3RdahkVnJ436sN6HAicTZ9ZTNcsIV2mFN9A/OEw3Sc="; }; x86_64-linux-310 = { - name = "torch-2.4.1-cp310-cp310-linux_x86_64.whl"; - url = "https://download.pytorch.org/whl/cu121/torch-2.4.1%2Bcu121-cp310-cp310-linux_x86_64.whl"; - hash = "sha256-ml8LEDz+hAs1aEFqpQZ/bnuf7GfZxWWf1DsSB0UP6XU="; + name = "torch-2.5.0-cp310-cp310-linux_x86_64.whl"; + url = "https://download.pytorch.org/whl/cu124/torch-2.5.0%2Bcu124-cp310-cp310-linux_x86_64.whl"; + hash = "sha256-uLcj9Hqgb9/rGnqsXf+PpZlL+qT9PK0GAbvw1bHBUEk="; }; x86_64-linux-311 = { - name = "torch-2.4.1-cp311-cp311-linux_x86_64.whl"; - url = "https://download.pytorch.org/whl/cu121/torch-2.4.1%2Bcu121-cp311-cp311-linux_x86_64.whl"; - hash = "sha256-kU0Sjlq8u+ecobnrUxGxhURPGy1xF99VX+QYSH7PuJQ="; + name = "torch-2.5.0-cp311-cp311-linux_x86_64.whl"; + url = "https://download.pytorch.org/whl/cu124/torch-2.5.0%2Bcu124-cp311-cp311-linux_x86_64.whl"; + hash = "sha256-Xj9Ke6gSUXwsFlmFe1GV8oeiiPvQUKWr+TEeA9vhoos="; }; x86_64-linux-312 = { - name = "torch-2.4.1-cp312-cp312-linux_x86_64.whl"; - url = "https://download.pytorch.org/whl/cu121/torch-2.4.1%2Bcu121-cp312-cp312-linux_x86_64.whl"; - hash = "sha256-q0kWELFVUeCNp0urKdCTPmvxC6tE+31LEyjx6EXAWlM="; - }; - aarch64-darwin-38 = { - name = "torch-2.4.1-cp38-none-macosx_11_0_arm64.whl"; - url = "https://download.pytorch.org/whl/cpu/torch-2.4.1-cp38-none-macosx_11_0_arm64.whl"; - hash = "sha256-X8HU1+0mXvhTV5yvJyaG0e2Hzr3NBPKkmPgA/8U9q3E="; + name = "torch-2.5.0-cp312-cp312-linux_x86_64.whl"; + url = "https://download.pytorch.org/whl/cu124/torch-2.5.0%2Bcu124-cp312-cp312-linux_x86_64.whl"; + hash = "sha256-EcKB2WiMNu3tBq6PYNa5fgEIMe+upKSyJErUNn4jLtc="; }; aarch64-darwin-39 = { - name = "torch-2.4.1-cp39-none-macosx_11_0_arm64.whl"; - url = "https://download.pytorch.org/whl/cpu/torch-2.4.1-cp39-none-macosx_11_0_arm64.whl"; - hash = "sha256-o43igD7mBQMJqsAyZ2U2w9O2qYBCSFN+OOCY0OFIF+w="; + name = "torch-2.5.0-cp39-none-macosx_11_0_arm64.whl"; + url = "https://download.pytorch.org/whl/cpu/torch-2.5.0-cp39-none-macosx_11_0_arm64.whl"; + hash = "sha256-7YScLRFY+FkflMFEeO4cPeq8H0OKAD1VwFdGJMAWJ/E="; }; aarch64-darwin-310 = { - name = "torch-2.4.1-cp310-none-macosx_11_0_arm64.whl"; - url = "https://download.pytorch.org/whl/cpu/torch-2.4.1-cp310-none-macosx_11_0_arm64.whl"; - hash = "sha256-02qO8QD1v/Ppw86pNLng1+onfLghDHFS00qabFgw6t0="; + name = "torch-2.5.0-cp310-none-macosx_11_0_arm64.whl"; + url = "https://download.pytorch.org/whl/cpu/torch-2.5.0-cp310-none-macosx_11_0_arm64.whl"; + hash = "sha256-uK9pC351HUG9Je8uqkauNUqngTgOHk006wMb+oP0tRI="; }; aarch64-darwin-311 = { - name = "torch-2.4.1-cp311-none-macosx_11_0_arm64.whl"; - url = "https://download.pytorch.org/whl/cpu/torch-2.4.1-cp311-none-macosx_11_0_arm64.whl"; - hash = "sha256-3d29iwZudDk0pCALPVQmekbbAhBodtIc8x99p6lvmOo="; + name = "torch-2.5.0-cp311-none-macosx_11_0_arm64.whl"; + url = "https://download.pytorch.org/whl/cpu/torch-2.5.0-cp311-none-macosx_11_0_arm64.whl"; + hash = "sha256-2nchfs0y5UxiSXmVR+7aEF67qow8dFtZGlMg4rwkNYU="; }; aarch64-darwin-312 = { - name = "torch-2.4.1-cp312-none-macosx_11_0_arm64.whl"; - url = "https://download.pytorch.org/whl/cpu/torch-2.4.1-cp312-none-macosx_11_0_arm64.whl"; - hash = "sha256-crSE1bbOwac1vz+locSIPQF0hpjF6c/b60/6t8eYfg0="; - }; - aarch64-linux-38 = { - name = "torch-2.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"; - url = "https://download.pytorch.org/whl/cpu/torch-2.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"; - hash = "sha256-Vq0qdgt6eIJyWh7r9WV6u7O1FE6ya8tHtSBZNXRjxUg="; + name = "torch-2.5.0-cp312-none-macosx_11_0_arm64.whl"; + url = "https://download.pytorch.org/whl/cpu/torch-2.5.0-cp312-none-macosx_11_0_arm64.whl"; + hash = "sha256-w6vjoAPA1XgGUi9z1euXdmg2onTYCcnKPrPnXSSIvz4="; }; aarch64-linux-39 = { - name = "torch-2.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"; - url = "https://download.pytorch.org/whl/cpu/torch-2.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"; - hash = "sha256-FJUTLzD3Iq8aCRlQCIuuo4P+OZA9sGsg5pNv2ZQCgD4="; + name = "torch-2.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"; + url = "https://download.pytorch.org/whl/cpu/torch-2.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"; + hash = "sha256-5CMassS3SgvmnicQ4/kRAs55yuCeb7saYe9yRsUHA+Q="; }; aarch64-linux-310 = { - name = "torch-2.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"; - url = "https://download.pytorch.org/whl/cpu/torch-2.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"; - hash = "sha256-+iewSNMhmM2m6c/wv3aOhoPZh0OQO35dKx9QmN7R00M="; + name = "torch-2.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"; + url = "https://download.pytorch.org/whl/cpu/torch-2.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"; + hash = "sha256-UPz/n1ucUQL5+PXLPRK9TZ8SZmUOS4wU9QpexYnh7qU="; }; aarch64-linux-311 = { - name = "torch-2.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"; - url = "https://download.pytorch.org/whl/cpu/torch-2.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"; - hash = "sha256-ML4oRNDJORYaEQc7+69kXxx8tD9i9GzG5N8cEZ+yp5g="; + name = "torch-2.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"; + url = "https://download.pytorch.org/whl/cpu/torch-2.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"; + hash = "sha256-IFoOy/hfTHhXz99Paw4HMWvZKe2SSCVp6PRSRABVmIQ="; }; aarch64-linux-312 = { - name = "torch-2.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"; - url = "https://download.pytorch.org/whl/cpu/torch-2.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"; - hash = "sha256-NhCUMrEL1xY8mzDOiW88LMobhrl2X5VqFZTw/0MJHio="; + name = "torch-2.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"; + url = "https://download.pytorch.org/whl/cpu/torch-2.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"; + hash = "sha256-V+B/GKTe9Sz+UETKqGG8PeRJcXn67iNvO5V7Qn/80OQ="; }; }; } diff --git a/pkgs/development/python-modules/torch/default.nix b/pkgs/development/python-modules/torch/default.nix index 36863da6759f..cd43c04d67d4 100644 --- a/pkgs/development/python-modules/torch/default.nix +++ b/pkgs/development/python-modules/torch/default.nix @@ -38,7 +38,7 @@ darwin, numactl, - # Propagated build inputs + # dependencies astunparse, fsspec, filelock, @@ -87,8 +87,6 @@ tensorboard, protobuf, - pythonOlder, - # ROCm dependencies rocmSupport ? config.rocmSupport, rocmPackages_5, @@ -225,11 +223,9 @@ in buildPythonPackage rec { pname = "torch"; # Don't forget to update torch-bin to the same version. - version = "2.4.1"; + version = "2.5.0"; pyproject = true; - disabled = pythonOlder "3.8.0"; - outputs = [ "out" # output standard python package "dev" # output libtorch headers @@ -243,17 +239,11 @@ buildPythonPackage rec { repo = "pytorch"; rev = "refs/tags/v${version}"; fetchSubmodules = true; - hash = "sha256-x/zM/57syr46CP1TfGaefSjzvNm4jJbWFZGVGyzPMg8="; + hash = "sha256-z41VAN4l/6hyHsxNOnJORy5EQK93kSMkDHRVQrdxv7k="; }; patches = - [ - # Allow setting PYTHON_LIB_REL_PATH with an environment variable. - # https://github.com/pytorch/pytorch/pull/128419 - ./passthrough-python-lib-rel-path.patch - ./0001-cmake.py-propagate-cmakeFlags-from-environment.patch - ] - ++ lib.optionals cudaSupport [ ./fix-cmake-cuda-toolkit.patch ] + lib.optionals cudaSupport [ ./fix-cmake-cuda-toolkit.patch ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ # pthreadpool added support for Grand Central Dispatch in April # 2020. However, this relies on functionality (DISPATCH_APPLY_AUTO) @@ -537,6 +527,9 @@ buildPythonPackage rec { ++ lib.optionals MPISupport [ mpi ] ++ lib.optionals rocmSupport [ rocmtoolkit_joined ]; + pythonRelaxDeps = [ + "sympy" + ]; dependencies = [ astunparse cffi diff --git a/pkgs/development/python-modules/torch/passthrough-python-lib-rel-path.patch b/pkgs/development/python-modules/torch/passthrough-python-lib-rel-path.patch deleted file mode 100644 index 629a0495c00e..000000000000 --- a/pkgs/development/python-modules/torch/passthrough-python-lib-rel-path.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/tools/setup_helpers/cmake.py b/tools/setup_helpers/cmake.py -index 5481ce46031c..d50d9d547399 100644 ---- a/tools/setup_helpers/cmake.py -+++ b/tools/setup_helpers/cmake.py -@@ -231,6 +231,7 @@ def generate( - "SELECTED_OP_LIST", - "TORCH_CUDA_ARCH_LIST", - "TRACING_BASED", -+ "PYTHON_LIB_REL_PATH", - ) - } - ) diff --git a/pkgs/development/python-modules/torch/prefetch.sh b/pkgs/development/python-modules/torch/prefetch.sh index 88cbfa2c346e..712edbddb52e 100755 --- a/pkgs/development/python-modules/torch/prefetch.sh +++ b/pkgs/development/python-modules/torch/prefetch.sh @@ -5,23 +5,20 @@ set -eou pipefail version=$1 -linux_cuda_version="cu121" +linux_cuda_version="cu124" linux_cuda_bucket="https://download.pytorch.org/whl/${linux_cuda_version}" linux_cpu_bucket="https://download.pytorch.org/whl/cpu" darwin_bucket="https://download.pytorch.org/whl/cpu" url_and_key_list=( - "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" "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" "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" "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" "x86_64-linux-312 $linux_cuda_bucket/torch-${version}%2B${linux_cuda_version}-cp312-cp312-linux_x86_64.whl torch-${version}-cp312-cp312-linux_x86_64.whl" - "aarch64-darwin-38 $darwin_bucket/torch-${version}-cp38-none-macosx_11_0_arm64.whl torch-${version}-cp38-none-macosx_11_0_arm64.whl" "aarch64-darwin-39 $darwin_bucket/torch-${version}-cp39-none-macosx_11_0_arm64.whl torch-${version}-cp39-none-macosx_11_0_arm64.whl" "aarch64-darwin-310 $darwin_bucket/torch-${version}-cp310-none-macosx_11_0_arm64.whl torch-${version}-cp310-none-macosx_11_0_arm64.whl" "aarch64-darwin-311 $darwin_bucket/torch-${version}-cp311-none-macosx_11_0_arm64.whl torch-${version}-cp311-none-macosx_11_0_arm64.whl" "aarch64-darwin-312 $darwin_bucket/torch-${version}-cp312-none-macosx_11_0_arm64.whl torch-${version}-cp312-none-macosx_11_0_arm64.whl" - "aarch64-linux-38 $linux_cpu_bucket/torch-${version}-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl torch-${version}-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" "aarch64-linux-39 $linux_cpu_bucket/torch-${version}-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl torch-${version}-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" "aarch64-linux-310 $linux_cpu_bucket/torch-${version}-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl torch-${version}-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" "aarch64-linux-311 $linux_cpu_bucket/torch-${version}-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl torch-${version}-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" @@ -37,7 +34,7 @@ for url_and_key in "${url_and_key_list[@]}"; do name=$(echo "$url_and_key" | cut -d' ' -f3) echo "prefetching ${url}..." - hash=$(nix hash to-sri --type sha256 `nix-prefetch-url "$url" --name "$name"`) + hash=$(nix hash convert --hash-algo sha256 `nix-prefetch-url "$url" --name "$name"`) echo " $key = {" >> $hashfile echo " name = \"$name\";" >> $hashfile