diff --git a/pkgs/development/python-modules/torch/bin/binary-hashes.nix b/pkgs/development/python-modules/torch/bin/binary-hashes.nix index f521fbe1903a..d12619192470 100644 --- a/pkgs/development/python-modules/torch/bin/binary-hashes.nix +++ b/pkgs/development/python-modules/torch/bin/binary-hashes.nix @@ -7,81 +7,81 @@ version: builtins.getAttr version { - "2.11.0" = { + "2.12.0" = { x86_64-linux-310 = { - name = "torch-2.11.0+cu128-cp310-cp310-linux_x86_64.whl"; - url = "https://download.pytorch.org/whl/cu128/torch-2.11.0%2Bcu128-cp310-cp310-manylinux_2_28_x86_64.whl"; - hash = "sha256-ctU/MXamnMIHEMTsuV99xMa6EMTk7aRbg5buee5A91o="; + name = "torch-2.12.0+cu130-cp310-cp310-linux_x86_64.whl"; + url = "https://download.pytorch.org/whl/cu130/torch-2.12.0%2Bcu130-cp310-cp310-manylinux_2_28_x86_64.whl"; + hash = "sha256-hFoXKaUq7HZh0bbauuiBXrFNurXHxnpf4LrxlKr6Ef4="; }; x86_64-linux-311 = { - name = "torch-2.11.0+cu128-cp311-cp311-linux_x86_64.whl"; - url = "https://download.pytorch.org/whl/cu128/torch-2.11.0%2Bcu128-cp311-cp311-manylinux_2_28_x86_64.whl"; - hash = "sha256-yafKTHT64QpY5hdbSyzqlT+TIrtlYrvzOa1qBfUhkK0="; + name = "torch-2.12.0+cu130-cp311-cp311-linux_x86_64.whl"; + url = "https://download.pytorch.org/whl/cu130/torch-2.12.0%2Bcu130-cp311-cp311-manylinux_2_28_x86_64.whl"; + hash = "sha256-UDjwnuFhM5pSFF0Ab2BfYM6qc1Yn4uNRuTQZy6YGlsM="; }; x86_64-linux-312 = { - name = "torch-2.11.0+cu128-cp312-cp312-linux_x86_64.whl"; - url = "https://download.pytorch.org/whl/cu128/torch-2.11.0%2Bcu128-cp312-cp312-manylinux_2_28_x86_64.whl"; - hash = "sha256-0lLPl1+xjJSoUzYyOtQl9HPfVtqzWkSwA5m9cMejuZc="; + name = "torch-2.12.0+cu130-cp312-cp312-linux_x86_64.whl"; + url = "https://download.pytorch.org/whl/cu130/torch-2.12.0%2Bcu130-cp312-cp312-manylinux_2_28_x86_64.whl"; + hash = "sha256-n1EupRwXCnzBoEh8CPAVS3je+6TrhhnK0BMMhhXthSY="; }; x86_64-linux-313 = { - name = "torch-2.11.0+cu128-cp313-cp313-linux_x86_64.whl"; - url = "https://download.pytorch.org/whl/cu128/torch-2.11.0%2Bcu128-cp313-cp313-manylinux_2_28_x86_64.whl"; - hash = "sha256-25ZLM8VQNacqs+IWIoevjxzCdgOcZdAVdAzIjCbc7fc="; + name = "torch-2.12.0+cu130-cp313-cp313-linux_x86_64.whl"; + url = "https://download.pytorch.org/whl/cu130/torch-2.12.0%2Bcu130-cp313-cp313-manylinux_2_28_x86_64.whl"; + hash = "sha256-/l/vt4SjcNG6SVneboe807NUQQQKmb/+MvXNA7vINMA="; }; x86_64-linux-314 = { - name = "torch-2.11.0+cu128-cp314-cp314-linux_x86_64.whl"; - url = "https://download.pytorch.org/whl/cu128/torch-2.11.0%2Bcu128-cp314-cp314-manylinux_2_28_x86_64.whl"; - hash = "sha256-04moUGd/DSTa+uFXNkQDRCjY07nIC1HVW6Yv7X5sh3c="; + name = "torch-2.12.0+cu130-cp314-cp314-linux_x86_64.whl"; + url = "https://download.pytorch.org/whl/cu130/torch-2.12.0%2Bcu130-cp314-cp314-manylinux_2_28_x86_64.whl"; + hash = "sha256-P/c2b2kZIy8JnvcCw+vTUJyRqzfDZ+QIyzeZxr7SFKQ="; }; aarch64-darwin-310 = { - name = "torch-2.11.0-cp310-none-macosx_11_0_arm64.whl"; - url = "https://download.pytorch.org/whl/cpu/torch-2.11.0-cp310-cp310-macosx_11_0_arm64.whl"; - hash = "sha256-kSCcfYokYLduj/Wyi3Yj2kqx0nR0t54d6D6VSHGYWv4="; + name = "torch-2.12.0-cp310-none-macosx_14_0_arm64.whl"; + url = "https://download.pytorch.org/whl/cpu/torch-2.12.0-cp310-cp310-macosx_14_0_arm64.whl"; + hash = "sha256-GDS9mE+KL08WvfvuzKkUYYSyIKpGJ2v1dWc1tdrhKBI="; }; aarch64-darwin-311 = { - name = "torch-2.11.0-cp311-none-macosx_11_0_arm64.whl"; - url = "https://download.pytorch.org/whl/cpu/torch-2.11.0-cp311-cp311-macosx_11_0_arm64.whl"; - hash = "sha256-116tzZf+DcfNDu3E1yFSSEwZyyz+Rs5VdmyOEpEWQl8="; + name = "torch-2.12.0-cp311-none-macosx_14_0_arm64.whl"; + url = "https://download.pytorch.org/whl/cpu/torch-2.12.0-cp311-cp311-macosx_14_0_arm64.whl"; + hash = "sha256-EIAv04O7/tZGIS52WnLDfSGFIF1PJusZeiVOisfdyyU="; }; aarch64-darwin-312 = { - name = "torch-2.11.0-cp312-none-macosx_11_0_arm64.whl"; - url = "https://download.pytorch.org/whl/cpu/torch-2.11.0-cp312-cp312-macosx_11_0_arm64.whl"; - hash = "sha256-Q7NRFoAshfuI2Z9KOWuL1Ecr/KHdguaUmeWk+bi04lI="; + name = "torch-2.12.0-cp312-none-macosx_14_0_arm64.whl"; + url = "https://download.pytorch.org/whl/cpu/torch-2.12.0-cp312-cp312-macosx_14_0_arm64.whl"; + hash = "sha256-tBM535PUkUNeeQ/4vLrhwM53cXWIm/0SgdEZhieT5qI="; }; aarch64-darwin-313 = { - name = "torch-2.11.0-cp313-none-macosx_11_0_arm64.whl"; - url = "https://download.pytorch.org/whl/cpu/torch-2.11.0-cp313-cp313-macosx_11_0_arm64.whl"; - hash = "sha256-RC7J3HhZJWT9rWnPC+qp2i+Cq4EMy08TkDhpqQvz8V0="; + name = "torch-2.12.0-cp313-none-macosx_14_0_arm64.whl"; + url = "https://download.pytorch.org/whl/cpu/torch-2.12.0-cp313-cp313-macosx_14_0_arm64.whl"; + hash = "sha256-kN1Yel9hv+EwcUi1geIIT8W8SgbiuQog6aNrgQh/8Ws="; }; aarch64-darwin-314 = { - name = "torch-2.11.0-cp314-cp314-macosx_14_0_arm64.whl"; - url = "https://download.pytorch.org/whl/cpu/torch-2.11.0-cp314-cp314-macosx_11_0_arm64.whl"; - hash = "sha256-ByoNbkhl6LDcDb/m6+1o+uI1EkIig17wPlgU1BTYwBI="; + name = "torch-2.12.0-cp314-cp314-macosx_14_0_arm64.whl"; + url = "https://download.pytorch.org/whl/cpu/torch-2.12.0-cp314-cp314-macosx_14_0_arm64.whl"; + hash = "sha256-99+uSlGRl9+gUOmNjjY3ig+1iZYlqHXCtURFAFouQE4="; }; aarch64-linux-310 = { - name = "torch-2.11.0+cpu-cp310-cp310-manylinux_2_28_aarch64.whl"; - url = "https://download.pytorch.org/whl/cpu/torch-2.11.0%2Bcpu-cp310-cp310-manylinux_2_28_aarch64.whl"; - hash = "sha256-x9uuOlzQpKPqt2B0K5vjvXkoIllIjPgxdhl87zHOFhA="; + name = "torch-2.12.0+cpu-cp310-cp310-manylinux_2_28_aarch64.whl"; + url = "https://download.pytorch.org/whl/cpu/torch-2.12.0%2Bcpu-cp310-cp310-manylinux_2_28_aarch64.whl"; + hash = "sha256-x0pEmtf5e4eXNLWk8QkqkbF4DizVJew2nCn9mHfvc8A="; }; aarch64-linux-311 = { - name = "torch-2.11.0+cpu-cp311-cp311-manylinux_2_28_aarch64.whl"; - url = "https://download.pytorch.org/whl/cpu/torch-2.11.0%2Bcpu-cp311-cp311-manylinux_2_28_aarch64.whl"; - hash = "sha256-RvuwqiV7t4Hvv61kj1sEXA4jJXO2YfFGFZPbYTQukJY="; + name = "torch-2.12.0+cpu-cp311-cp311-manylinux_2_28_aarch64.whl"; + url = "https://download.pytorch.org/whl/cpu/torch-2.12.0%2Bcpu-cp311-cp311-manylinux_2_28_aarch64.whl"; + hash = "sha256-Ts2OzbnqGv+l810QUBgJ1i3HE/feljXoCY52DdvrhSw="; }; aarch64-linux-312 = { - name = "torch-2.11.0+cpu-cp312-cp312-manylinux_2_28_aarch64.whl"; - url = "https://download.pytorch.org/whl/cpu/torch-2.11.0%2Bcpu-cp312-cp312-manylinux_2_28_aarch64.whl"; - hash = "sha256-cOyyZZr2Nzt8UzbmkuZlYFsCAeoh/1Gq6kfh116mtao="; + name = "torch-2.12.0+cpu-cp312-cp312-manylinux_2_28_aarch64.whl"; + url = "https://download.pytorch.org/whl/cpu/torch-2.12.0%2Bcpu-cp312-cp312-manylinux_2_28_aarch64.whl"; + hash = "sha256-zi3biAsIE/zJGnN/CP3Zc6gRWnTGTMs06cCaeWS01Eg="; }; aarch64-linux-313 = { - name = "torch-2.11.0+cpu-cp313-cp313-manylinux_2_28_aarch64.whl"; - url = "https://download.pytorch.org/whl/cpu/torch-2.11.0%2Bcpu-cp313-cp313-manylinux_2_28_aarch64.whl"; - hash = "sha256-SLPiGjEURazdCyfxODDiHZOt73DUch4FHp8Fm665uPk="; + name = "torch-2.12.0+cpu-cp313-cp313-manylinux_2_28_aarch64.whl"; + url = "https://download.pytorch.org/whl/cpu/torch-2.12.0%2Bcpu-cp313-cp313-manylinux_2_28_aarch64.whl"; + hash = "sha256-aLfd1NtGA6A+EG50xwmMjYyJQ9M8HlraAJykzYhXWcM="; }; aarch64-linux-314 = { - name = "torch-2.11.0+cpu-cp314-cp314-manylinux_2_28_aarch64.whl"; - url = "https://download.pytorch.org/whl/cpu/torch-2.11.0%2Bcpu-cp314-cp314-manylinux_2_28_aarch64.whl"; - hash = "sha256-cWdvapqEu9OF4BAZi1H6HCMk+488USoy0sga9l9o9Mk="; + name = "torch-2.12.0+cpu-cp314-cp314-manylinux_2_28_aarch64.whl"; + url = "https://download.pytorch.org/whl/cpu/torch-2.12.0%2Bcpu-cp314-cp314-manylinux_2_28_aarch64.whl"; + hash = "sha256-eXwGY2d5LJLrl8r7p/0Mqo10VeYHik7ogGMAdzeNw3I="; }; }; } diff --git a/pkgs/development/python-modules/torch/bin/default.nix b/pkgs/development/python-modules/torch/bin/default.nix index 14f9c523d3ef..f17261ccb712 100644 --- a/pkgs/development/python-modules/torch/bin/default.nix +++ b/pkgs/development/python-modules/torch/bin/default.nix @@ -38,10 +38,11 @@ let pyVerNoDot = builtins.replaceStrings [ "." ] [ "" ] python.pythonVersion; srcs = import ./binary-hashes.nix version; unsupported = throw "Unsupported system"; - version = "2.11.0"; + version = "2.12.0"; in buildPythonPackage { inherit version; + __structuredAttrs = true; pname = "torch"; # Don't forget to update torch to the same version. @@ -92,10 +93,11 @@ buildPythonPackage { pythonRemoveDeps = [ "cuda-toolkit" - "nvidia-cudnn-cu12" - "nvidia-cusparselt-cu12" - "nvidia-nccl-cu12" - "nvidia-nvshmem-cu12" + "nvidia-cublas" + "nvidia-cudnn-cu13" + "nvidia-cusparselt-cu13" + "nvidia-nccl-cu13" + "nvidia-nvshmem-cu13" ]; dependencies = [ filelock @@ -178,5 +180,16 @@ buildPythonPackage { GaetanLepage junjihashimoto ]; + # cuda-bindings<14,>=13.0.3 not satisfied by version 12.9.7 + problems = lib.optionalAttrs (lib.versionOlder cuda-bindings.version "13.0.3") { + unsupported-cuda-version = { + message = '' + cudaPackages is too old (${cudaPackages.cudaMajorMinorVersion}). + PyTorch expects cuda-bindings>=13.0.3, current is ${cuda-bindings.version}. + Please override cudaPackages with a more recent version. + ''; + kind = "broken"; + }; + }; }; } diff --git a/pkgs/development/python-modules/torch/bin/prefetch.sh b/pkgs/development/python-modules/torch/bin/prefetch.sh index bf649d504e5a..8d9ae2e1367f 100755 --- a/pkgs/development/python-modules/torch/bin/prefetch.sh +++ b/pkgs/development/python-modules/torch/bin/prefetch.sh @@ -5,7 +5,7 @@ set -eou pipefail version=$1 -linux_cuda_version="cu128" +linux_cuda_version="cu130" 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" @@ -16,11 +16,11 @@ url_and_key_list=( "x86_64-linux-312 $linux_cuda_bucket/torch-${version}%2B${linux_cuda_version}-cp312-cp312-manylinux_2_28_x86_64.whl torch-${version}+${linux_cuda_version}-cp312-cp312-linux_x86_64.whl" "x86_64-linux-313 $linux_cuda_bucket/torch-${version}%2B${linux_cuda_version}-cp313-cp313-manylinux_2_28_x86_64.whl torch-${version}+${linux_cuda_version}-cp313-cp313-linux_x86_64.whl" "x86_64-linux-314 $linux_cuda_bucket/torch-${version}%2B${linux_cuda_version}-cp314-cp314-manylinux_2_28_x86_64.whl torch-${version}+${linux_cuda_version}-cp314-cp314-linux_x86_64.whl" - "aarch64-darwin-310 $darwin_bucket/torch-${version}-cp310-cp310-macosx_11_0_arm64.whl torch-${version}-cp310-none-macosx_11_0_arm64.whl" - "aarch64-darwin-311 $darwin_bucket/torch-${version}-cp311-cp311-macosx_11_0_arm64.whl torch-${version}-cp311-none-macosx_11_0_arm64.whl" - "aarch64-darwin-312 $darwin_bucket/torch-${version}-cp312-cp312-macosx_11_0_arm64.whl torch-${version}-cp312-none-macosx_11_0_arm64.whl" - "aarch64-darwin-313 $darwin_bucket/torch-${version}-cp313-cp313-macosx_11_0_arm64.whl torch-${version}-cp313-none-macosx_11_0_arm64.whl" - "aarch64-darwin-314 $darwin_bucket/torch-${version}-cp314-cp314-macosx_11_0_arm64.whl torch-${version}-cp314-cp314-macosx_14_0_arm64.whl" + "aarch64-darwin-310 $darwin_bucket/torch-${version}-cp310-cp310-macosx_14_0_arm64.whl torch-${version}-cp310-none-macosx_14_0_arm64.whl" + "aarch64-darwin-311 $darwin_bucket/torch-${version}-cp311-cp311-macosx_14_0_arm64.whl torch-${version}-cp311-none-macosx_14_0_arm64.whl" + "aarch64-darwin-312 $darwin_bucket/torch-${version}-cp312-cp312-macosx_14_0_arm64.whl torch-${version}-cp312-none-macosx_14_0_arm64.whl" + "aarch64-darwin-313 $darwin_bucket/torch-${version}-cp313-cp313-macosx_14_0_arm64.whl torch-${version}-cp313-none-macosx_14_0_arm64.whl" + "aarch64-darwin-314 $darwin_bucket/torch-${version}-cp314-cp314-macosx_14_0_arm64.whl torch-${version}-cp314-cp314-macosx_14_0_arm64.whl" "aarch64-linux-310 $linux_cpu_bucket/torch-${version}%2Bcpu-cp310-cp310-manylinux_2_28_aarch64.whl torch-${version}+cpu-cp310-cp310-manylinux_2_28_aarch64.whl" "aarch64-linux-311 $linux_cpu_bucket/torch-${version}%2Bcpu-cp311-cp311-manylinux_2_28_aarch64.whl torch-${version}+cpu-cp311-cp311-manylinux_2_28_aarch64.whl" "aarch64-linux-312 $linux_cpu_bucket/torch-${version}%2Bcpu-cp312-cp312-manylinux_2_28_aarch64.whl torch-${version}+cpu-cp312-cp312-manylinux_2_28_aarch64.whl"