Compare commits
1 commit
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ec583b0435 |
4 changed files with 66 additions and 150 deletions
5
.gitignore
vendored
5
.gitignore
vendored
|
|
@ -26,8 +26,3 @@
|
|||
/kineto-5e75018.tar.gz
|
||||
/pytorch-v2.8.0.tar.gz
|
||||
/v1.18.0.tar.gz
|
||||
/pytorch-715dca6.tar.gz
|
||||
/pytorch-fd36458.tar.gz
|
||||
/pytorch-0fabc3b.tar.gz
|
||||
/pytorch-v2.9.0.tar.gz
|
||||
/pytorch-v2.9.1.tar.gz
|
||||
|
|
|
|||
139
pyproject.toml
139
pyproject.toml
|
|
@ -1,105 +1,49 @@
|
|||
# Package ######################################################################
|
||||
|
||||
[build-system]
|
||||
requires = [
|
||||
# 70.1.0: min version for integrated bdist_wheel command from wheel package
|
||||
# 77.0.0: min version for SPDX expression support for project.license
|
||||
"setuptools>=70.1.0,<80.0",
|
||||
"cmake>=3.27",
|
||||
"ninja",
|
||||
"numpy",
|
||||
"packaging",
|
||||
"pyyaml",
|
||||
"requests",
|
||||
"six", # dependency chain: NNPACK -> PeachPy -> six
|
||||
"typing-extensions>=4.10.0",
|
||||
]
|
||||
build-backend = "setuptools.build_meta"
|
||||
|
||||
[dependency-groups]
|
||||
dev = [
|
||||
# This list should be kept in sync with the requirements-build.txt
|
||||
# in PyTorch root until the project fully migrates to pyproject.toml
|
||||
# after which this can be removed as it is already specified in the
|
||||
# [build-system] section
|
||||
"setuptools>=70.1.0,<80.0", # setuptools develop deprecated on 80.0
|
||||
"cmake>=3.27",
|
||||
"ninja",
|
||||
"numpy",
|
||||
"packaging",
|
||||
"pyyaml",
|
||||
"requests",
|
||||
"six", # dependency chain: NNPACK -> PeachPy -> six
|
||||
"typing-extensions>=4.10.0",
|
||||
|
||||
# This list should be kept in sync with the requirements.txt in
|
||||
# PyTorch root until the project fully migrates to pyproject.toml
|
||||
"build[uv]",
|
||||
"expecttest>=0.3.0",
|
||||
"filelock",
|
||||
"fsspec>=0.8.5",
|
||||
"hypothesis",
|
||||
"jinja2",
|
||||
"lintrunner; platform_machine != 's390x' and platform_machine != 'riscv64'",
|
||||
"networkx>=2.5.1",
|
||||
"optree>=0.13.0",
|
||||
"psutil",
|
||||
"sympy>=1.13.3",
|
||||
"typing-extensions>=4.13.2",
|
||||
"wheel",
|
||||
]
|
||||
|
||||
[project]
|
||||
name = "torch"
|
||||
description = "Tensors and Dynamic neural networks in Python with strong GPU acceleration"
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.10"
|
||||
# TODO: change to `license = "BSD-3-Clause"` and enable PEP 639 after pinning setuptools>=77
|
||||
# FIXME: As of 2025.06.20, it is hard to ensure the minimum version of setuptools in our CI environment.
|
||||
# TOML-table-based license deprecated in setuptools>=77, and the deprecation warning will be changed
|
||||
# to an error on 2026.02.18. See also: https://github.com/pypa/setuptools/issues/4903
|
||||
license = { text = "BSD-3-Clause" }
|
||||
authors = [{ name = "PyTorch Team", email = "packages@pytorch.org" }]
|
||||
keywords = ["pytorch", "machine learning"]
|
||||
classifiers = [
|
||||
"Development Status :: 5 - Production/Stable",
|
||||
"Intended Audience :: Developers",
|
||||
"Intended Audience :: Education",
|
||||
"Intended Audience :: Science/Research",
|
||||
"Topic :: Scientific/Engineering",
|
||||
"Topic :: Scientific/Engineering :: Mathematics",
|
||||
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
||||
"Topic :: Software Development",
|
||||
"Topic :: Software Development :: Libraries",
|
||||
"Topic :: Software Development :: Libraries :: Python Modules",
|
||||
"Programming Language :: C++",
|
||||
"Programming Language :: Python :: 3 :: Only",
|
||||
"Programming Language :: Python :: 3.10",
|
||||
"Programming Language :: Python :: 3.11",
|
||||
"Programming Language :: Python :: 3.12",
|
||||
"Programming Language :: Python :: 3.13",
|
||||
"Programming Language :: Python :: 3.14",
|
||||
]
|
||||
requires-python = ">=3.9"
|
||||
license = {text = "BSD-3-Clause"}
|
||||
dynamic = [
|
||||
"authors",
|
||||
"classifiers",
|
||||
"entry-points",
|
||||
"dependencies",
|
||||
"description",
|
||||
"keywords",
|
||||
"optional-dependencies",
|
||||
"readme",
|
||||
"scripts",
|
||||
"version",
|
||||
]
|
||||
|
||||
[project.urls]
|
||||
Homepage = "https://pytorch.org"
|
||||
Repository = "https://github.com/pytorch/pytorch"
|
||||
Documentation = "https://pytorch.org/docs"
|
||||
"Issue Tracker" = "https://github.com/pytorch/pytorch/issues"
|
||||
Forum = "https://discuss.pytorch.org"
|
||||
Homepage = "https://pytorch.org/"
|
||||
Documentation = "https://pytorch.org/docs/"
|
||||
Source = "https://github.com/pytorch/pytorch"
|
||||
Forum = "https://discuss.pytorch.org/"
|
||||
|
||||
[project.optional-dependencies]
|
||||
optree = ["optree>=0.13.0"]
|
||||
opt-einsum = ["opt-einsum>=3.3"]
|
||||
pyyaml = ["pyyaml"]
|
||||
|
||||
# Linter tools #################################################################
|
||||
[build-system]
|
||||
requires = [
|
||||
# After 75.8.2 dropped dep disttools API. Please fix
|
||||
# API temporarily restored and shim used. Please fix
|
||||
# Setuptools will drop support for setup.py past 80
|
||||
# min version for recursive glob package data support
|
||||
"setuptools>=62.3.0,<80.0",
|
||||
"wheel",
|
||||
"astunparse",
|
||||
"numpy",
|
||||
"ninja",
|
||||
"pyyaml",
|
||||
"cmake",
|
||||
"typing-extensions>=4.10.0",
|
||||
"requests",
|
||||
]
|
||||
# Use legacy backend to import local packages in setup.py
|
||||
build-backend = "setuptools.build_meta:__legacy__"
|
||||
|
||||
|
||||
[tool.black]
|
||||
line-length = 88
|
||||
|
||||
[tool.isort]
|
||||
src_paths = ["caffe2", "torch", "torchgen", "functorch", "test"]
|
||||
|
|
@ -115,10 +59,12 @@ multi_line_output = 3
|
|||
include_trailing_comma = true
|
||||
combine_as_imports = true
|
||||
|
||||
|
||||
[tool.usort.known]
|
||||
first_party = ["caffe2", "torch", "torchgen", "functorch", "test"]
|
||||
standard_library = ["typing_extensions"]
|
||||
|
||||
|
||||
[tool.ruff]
|
||||
line-length = 88
|
||||
src = ["caffe2", "torch", "torchgen", "functorch", "test"]
|
||||
|
|
@ -159,7 +105,6 @@ ignore = [
|
|||
"E741",
|
||||
"EXE001",
|
||||
"F405",
|
||||
"FURB122", # writelines
|
||||
# these ignores are from flake8-logging-format; please fix!
|
||||
"G101",
|
||||
# these ignores are from ruff NPY; please fix!
|
||||
|
|
@ -182,15 +127,7 @@ ignore = [
|
|||
"SIM117",
|
||||
"SIM118",
|
||||
"UP007", # keep-runtime-typing
|
||||
"UP045", # keep-runtime-typing
|
||||
"TC006",
|
||||
# TODO: Remove Python-3.10 specific suppressions
|
||||
"B905",
|
||||
"UP035",
|
||||
"UP036",
|
||||
"UP038",
|
||||
"UP041",
|
||||
"FURB161",
|
||||
]
|
||||
select = [
|
||||
"B",
|
||||
|
|
@ -271,10 +208,6 @@ select = [
|
|||
"YTT",
|
||||
]
|
||||
|
||||
[tool.ruff.lint.pyupgrade]
|
||||
# Preserve types, even if a file imports `from __future__ import annotations`.
|
||||
keep-runtime-typing = true
|
||||
|
||||
[tool.ruff.lint.per-file-ignores]
|
||||
"__init__.py" = [
|
||||
"F401",
|
||||
|
|
|
|||
|
|
@ -6,17 +6,16 @@
|
|||
# So pre releases can be tried
|
||||
%bcond_with gitcommit
|
||||
%if %{with gitcommit}
|
||||
# v2.9.0-rc9
|
||||
%global commit0 0fabc3ba44823f257e70ce397d989c8de5e362c1
|
||||
# v2.8.0-rc8
|
||||
%global commit0 a1cb3cc05d46d198467bebbb6e8fba50a325d4e7
|
||||
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
|
||||
%global date0 20251008
|
||||
%global pypi_version 2.9.0
|
||||
%global date0 20250723
|
||||
%global pypi_version 2.8.0
|
||||
%global flatbuffers_version 24.12.23
|
||||
%global miniz_version 3.0.2
|
||||
%global pybind11_version 2.13.6
|
||||
%global rc_tag -rc9
|
||||
%else
|
||||
%global pypi_version 2.9.1
|
||||
%global pypi_version 2.8.0
|
||||
%global flatbuffers_version 24.12.23
|
||||
%global miniz_version 3.0.2
|
||||
%global pybind11_version 2.13.6
|
||||
|
|
@ -104,11 +103,25 @@ Source70: https://github.com/yhirose/cpp-httplib/archive/%{hl_commit}/cpp-
|
|||
Source80: https://github.com/pytorch/kineto/archive/%{ki_commit}/kineto-%{ki_scommit}.tar.gz
|
||||
%endif
|
||||
|
||||
%if %{without onnx}
|
||||
%global ox_ver 1.18.0
|
||||
Source90: https://github.com/onnx/onnx/archive/refs/tags/v%{ox_ver}.tar.gz
|
||||
%endif
|
||||
|
||||
%global pt_arches x86_64 aarch64
|
||||
ExclusiveArch: %pt_arches
|
||||
# https://github.com/pytorch/pytorch/issues/150187
|
||||
Patch11: 0001-Add-cmake-variable-USE_ROCM_CK.patch
|
||||
# https://github.com/pytorch/pytorch/issues/156595
|
||||
# Patch12: 0001-Use-horrible-dynamo-stub.patch
|
||||
Patch12: 0001-Fix-compilation-and-import-torch-issues-for-cpython-.patch
|
||||
|
||||
# 2.8 has this problem on aarch64
|
||||
# /builddir/build/BUILD/pytorch-v2.8.0/c10/util/FunctionRef.h:45:3: error: unrecognizable insn:
|
||||
# (insn 3196 3195 3197 78 (set (reg:VNx8BF 1368 [ _494 ])
|
||||
# (unspec:VNx8BF [
|
||||
# (reg:VNx8BF 1374)
|
||||
# (reg:VNx8BF 1375)
|
||||
# ] UNSPEC_IORF)) "/builddir/build/BUILD/pytorch-v2.8.0/aten/src/ATen/cpu/vec/sve/vec_bfloat16.h":228:31 discrim 1 -1
|
||||
ExclusiveArch: x86_64
|
||||
%global toolchain gcc
|
||||
%global _lto_cflags %nil
|
||||
|
||||
|
|
@ -126,7 +139,6 @@ BuildRequires: gloo-devel
|
|||
BuildRequires: json-devel
|
||||
|
||||
BuildRequires: libomp-devel
|
||||
BuildRequires: moodycamel-concurrentqueue-devel
|
||||
BuildRequires: numactl-devel
|
||||
BuildRequires: ninja-build
|
||||
%if %{with onnx}
|
||||
|
|
@ -173,8 +185,7 @@ BuildRequires: hiprand-devel
|
|||
BuildRequires: hipsparse-devel
|
||||
BuildRequires: hipsparselt-devel
|
||||
BuildRequires: hipsolver-devel
|
||||
# Magma is broken on ROCm 7
|
||||
# BuildRequires: magma-devel
|
||||
BuildRequires: magma-devel
|
||||
BuildRequires: miopen-devel
|
||||
BuildRequires: rocblas-devel
|
||||
BuildRequires: rocrand-devel
|
||||
|
|
@ -489,27 +500,16 @@ sed -i -e 's@HIP 1.0@HIP MODULE@' cmake/public/LoadHIP.cmake
|
|||
|
||||
%endif
|
||||
|
||||
# moodycamel include path needs adjusting to use the system's
|
||||
sed -i -e 's@${PROJECT_SOURCE_DIR}/third_party/concurrentqueue@/usr/include/concurrentqueue@' cmake/Dependencies.cmake
|
||||
|
||||
%build
|
||||
|
||||
# Export the arches
|
||||
# echo "%%pytorch_arches %pt_arches" > macros.pytorch
|
||||
|
||||
#
|
||||
# Control the number of jobs
|
||||
#
|
||||
# The build can fail if too many threads exceed the physical memory
|
||||
# Run at least one thread, more if CPU & memory resources are available.
|
||||
# So count core and and memory and increase the build memory util the build succeeds
|
||||
#
|
||||
%ifarch x86_64
|
||||
# Real cores, No hyperthreading
|
||||
COMPILE_JOBS=`cat /proc/cpuinfo | grep -m 1 'cpu cores' | awk '{ print $4 }'`
|
||||
%else
|
||||
# cpuinfo format varies on other arches, fall back to nproc
|
||||
COMPILE_JOBS=`nproc`
|
||||
%endif
|
||||
if [ ${COMPILE_JOBS}x = x ]; then
|
||||
COMPILE_JOBS=1
|
||||
fi
|
||||
|
|
@ -613,16 +613,12 @@ export BUILD_TEST=ON
|
|||
%if %{with rocm}
|
||||
|
||||
export USE_ROCM=ON
|
||||
export USE_ROCM_CK_SDPA=OFF
|
||||
export USE_ROCM_CK_GEMM=OFF
|
||||
export USE_FBGEMM_GENAI=OFF
|
||||
|
||||
# Magma is broken on ROCm 7
|
||||
# export USE_MAGMA=ON
|
||||
export USE_ROCM_CK=OFF
|
||||
export USE_MAGMA=ON
|
||||
export HIP_PATH=`hipconfig -p`
|
||||
export ROCM_PATH=`hipconfig -R`
|
||||
#RESOURCE_DIR=`%{rocmllvm_bindir}/clang -print-resource-dir`
|
||||
#export DEVICE_LIB_PATH=${RESOURCE_DIR}/amdgcn/bitcode
|
||||
RESOURCE_DIR=`%{rocmllvm_bindir}/clang -print-resource-dir`
|
||||
export DEVICE_LIB_PATH=${RESOURCE_DIR}/amdgcn/bitcode
|
||||
|
||||
# pytorch uses clang, not hipcc
|
||||
export HIP_CLANG_PATH=%{rocmllvm_bindir}
|
||||
|
|
@ -639,17 +635,13 @@ export PYTORCH_ROCM_ARCH=%{rocm_gpu_list_default}
|
|||
|
||||
%install
|
||||
|
||||
# pytorch rpm macros
|
||||
# install -Dpm 644 macros.pytorch \
|
||||
# %{buildroot}%{_rpmmacrodir}/macros.pytorch
|
||||
|
||||
%if %{with rocm}
|
||||
export USE_ROCM=ON
|
||||
export USE_ROCM_CK=OFF
|
||||
export HIP_PATH=`hipconfig -p`
|
||||
export ROCM_PATH=`hipconfig -R`
|
||||
# RESOURCE_DIR=`%{rocmllvm_bindir}/clang -print-resource-dir`
|
||||
# export DEVICE_LIB_PATH=${RESOURCE_DIR}/amdgcn/bitcode
|
||||
RESOURCE_DIR=`%{rocmllvm_bindir}/clang -print-resource-dir`
|
||||
export DEVICE_LIB_PATH=${RESOURCE_DIR}/amdgcn/bitcode
|
||||
|
||||
# pytorch uses clang, not hipcc
|
||||
export HIP_CLANG_PATH=%{rocmllvm_bindir}
|
||||
|
|
@ -675,6 +667,7 @@ export PYTORCH_ROCM_ARCH=%{rocm_gpu_list_default}
|
|||
%license LICENSE
|
||||
%doc README.md
|
||||
%{_bindir}/torchrun
|
||||
%{_bindir}/torchfrtrace
|
||||
%{python3_sitearch}/%{pypi_name}*
|
||||
%{python3_sitearch}/functorch
|
||||
|
||||
|
|
|
|||
5
sources
5
sources
|
|
@ -12,8 +12,3 @@ SHA512 (v24.12.23.tar.gz) = f97762ba41b9cfef648e93932fd789324c6bb6ebc5b7aeca8185
|
|||
SHA512 (kineto-5e75018.tar.gz) = 921b96a56e01d69895b79e67582d8977ed6f873573ab41557c5d026ada5d1f6365e4ed0a0c6804057c52e92510749fc58619f554a164c1ba9d8cd13e789bebd0
|
||||
SHA512 (pytorch-v2.8.0.tar.gz) = 791e658eab87fb957f025558cb9f925078d2426ab7b6f60771d9841dfb691f67d905ba1330a800008efe7c938b6c69bdc52232bccfe8d4860e795a532cd69d28
|
||||
SHA512 (v1.18.0.tar.gz) = 2f38664947c8d1efc40620a7c1b1953d2aa4b0a37b67c4886b86e77c1d697363c26413413ddda8eabc545892fb1bcb43afc7e93e62f0901527524a2727e1ea8d
|
||||
SHA512 (pytorch-715dca6.tar.gz) = 09c9aae54fab3eb17901fc3226fece1c13f41cb8e45a2cb066021823abeb8d27c340993088e01d8e55bb37ed5f94334ec31e6c539cddfacbad157abd27c5e907
|
||||
SHA512 (pytorch-fd36458.tar.gz) = acbb7475b92ad4a8e8d779f3745da22d8438e4c5ef2d6e76d71c987789f2752c8aef7022c87c9a74640fe4f9c1f1a61a3f12a796f63b1e6be24da8e5aacf37dc
|
||||
SHA512 (pytorch-0fabc3b.tar.gz) = 2e87975de0bf6f3dcede168b379e1928712bca16170c2a8ee7d63459f53086c01baac05e0763e4d5d28cdaf1c7d8912225ee06adeff96ead4f6f456ee174b341
|
||||
SHA512 (pytorch-v2.9.0.tar.gz) = ae989e3a7fe30f9ea90944dc25e21ca92f2a94ee40d8de974a168c292d82c16ee8920624eff91a85755469ad05473dce0f85893e3ed7794ec5c6bdd89cbd2023
|
||||
SHA512 (pytorch-v2.9.1.tar.gz) = 88de0289fa2760abd69bef505b5ae3b6d7ff176b415cbb31bbc89ce5476a3800b322a97c4490f270f8b89657aff931bf9a5516202b268e0bb8b1f63dbb87b34a
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue