Compare commits

..

1 commit

Author SHA1 Message Date
Tom Rix
ec583b0435 Disable aarch64 on EPEL
Signed-off-by: Tom Rix <Tom.Rix@amd.com>
2025-08-21 07:25:51 -07:00
4 changed files with 66 additions and 150 deletions

5
.gitignore vendored
View file

@ -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

View file

@ -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",

View file

@ -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

View file

@ -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