summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2025-07-11 08:11:34 +0000
committerCoprDistGit <infra@openeuler.org>2025-07-11 08:11:34 +0000
commitb7e0fb94fb6b1836f145563609a79cb8bf930119 (patch)
treeda14858442e86f077940059b7972dc8103ef126f
parentd4a550988e34065306c9b0ea68e8fa3ffadf29e3 (diff)
automatic import of pytorch
-rw-r--r--.gitignore1
-rw-r--r--0001-add-Wno-error-nonnull-for-test-cpp-api.patch29
-rw-r--r--0003-Fix-for-PyTorch-mobile-flatbuffer-loader-out-of-bounds-reads.patch37
-rw-r--r--pytorch.spec130
-rw-r--r--sources1
5 files changed, 198 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..734c85b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/pytorch-v2.1.2.tar.gz
diff --git a/0001-add-Wno-error-nonnull-for-test-cpp-api.patch b/0001-add-Wno-error-nonnull-for-test-cpp-api.patch
new file mode 100644
index 0000000..b498726
--- /dev/null
+++ b/0001-add-Wno-error-nonnull-for-test-cpp-api.patch
@@ -0,0 +1,29 @@
+From 367387bab836c73c23719f97d929572c8b4e0fad Mon Sep 17 00:00:00 2001
+From: Nick Rossenbach <rossenbach@cs.rwth-aachen.de>
+Date: Tue, 18 Apr 2023 23:31:51 +0200
+Subject: [PATCH] Add -Wno-error=nonnull for test/cpp/api/
+
+On some platforms the build might fail due to the nonnull error
+being triggered by different compiler behavior.
+
+Fix for #99278.
+---
+ test/cpp/api/CMakeLists.txt | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/test/cpp/api/CMakeLists.txt b/test/cpp/api/CMakeLists.txt
+index 6b801a073182794..181139b01360c30 100644
+--- a/test/cpp/api/CMakeLists.txt
++++ b/test/cpp/api/CMakeLists.txt
+@@ -80,6 +80,11 @@ if(NOT MSVC)
+ target_compile_options_if_supported(test_api "-Wno-maybe-uninitialized")
+ # gcc gives nonsensical warnings about variadic.h
+ target_compile_options_if_supported(test_api "-Wno-unused-but-set-parameter")
++ # the nonnull check might trigger for some build configurations,
++ # probably happening due to different code optimization
++ # (see e.g. https://rkoucha.fr/tech_corner/nonnull_gcc_attribute.html)
++ # this happened for a riscv build: https://github.com/pytorch/pytorch/issues/99278
++ target_compile_options_if_supported(test_api "-Wno-error=nonnull")
+ endif()
+
+ if(INSTALL_TEST)
diff --git a/0003-Fix-for-PyTorch-mobile-flatbuffer-loader-out-of-bounds-reads.patch b/0003-Fix-for-PyTorch-mobile-flatbuffer-loader-out-of-bounds-reads.patch
new file mode 100644
index 0000000..aab86ea
--- /dev/null
+++ b/0003-Fix-for-PyTorch-mobile-flatbuffer-loader-out-of-bounds-reads.patch
@@ -0,0 +1,37 @@
+From 0d3ceb3058201868765ff3aa1126685f3f7f9ecc Mon Sep 17 00:00:00 2001
+From: Andrew Calvano <calvano@fb.com>
+Date: Fri, 17 Nov 2023 17:29:04 +0000
+Subject: [PATCH] Fix for PyTorch mobile flatbuffer loader out of bounds reads
+ (#110162)
+
+Summary:
+The mobile_ivalue_size field in the mobile_bytecode flatbuffer schema can be larger than the ivalues vector. This introduces potential for memory corruption when parsing the mobile_bytecode Module.
+
+This diff fixes the issue by ensuring that mobile_ivalue_size is less than the size of the ivalues vector.
+
+Test Plan: contbuild & OSS CI
+
+Differential Revision: D49687548
+
+Pull Request resolved: https://github.com/pytorch/pytorch/pull/110162
+Approved by: https://github.com/malfet
+---
+ torch/csrc/jit/mobile/flatbuffer_loader.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/torch/csrc/jit/mobile/flatbuffer_loader.cpp b/torch/csrc/jit/mobile/flatbuffer_loader.cpp
+index 2fb12a4f..2069330b 100644
+--- a/torch/csrc/jit/mobile/flatbuffer_loader.cpp
++++ b/torch/csrc/jit/mobile/flatbuffer_loader.cpp
+@@ -302,7 +302,7 @@ mobile::Module FlatbufferLoader::parseModule(
+ storage_loaded_.resize(module->storage_data_size(), false);
+
+ mobile_ivalue_size_ = module_->mobile_ivalue_size();
+- if (mobile_ivalue_size_ == 0) {
++ if (mobile_ivalue_size_ == 0 || mobile_ivalue_size_ > ivalues->size()) {
+ mobile_ivalue_size_ = ivalues->size();
+ }
+
+--
+2.43.0
+
diff --git a/pytorch.spec b/pytorch.spec
new file mode 100644
index 0000000..c1fe83a
--- /dev/null
+++ b/pytorch.spec
@@ -0,0 +1,130 @@
+%global _empty_manifest_terminate_build 0
+Name: pytorch
+Version: 2.1.2
+Release: 5
+Summary: Tensors and Dynamic neural networks in Python with strong GPU acceleration
+License: BSD-3-Clause
+URL: https://pytorch.org/
+Source0: https://github.com/pytorch/pytorch/releases/download/v%{version}/pytorch-v%{version}.tar.gz
+
+Patch1: 0001-add-Wno-error-nonnull-for-test-cpp-api.patch
+%ifarch riscv64
+Patch2: 0002-Fix-build-error-for-riscv64.patch
+%endif
+Patch3: 0003-Fix-for-PyTorch-mobile-flatbuffer-loader-out-of-bounds-reads.patch
+%ifarch loongarch64
+Patch4: 0004-Add-loongarch64-support-for-third_party.patch
+%endif
+BuildRequires: g++
+Requires: python3-future
+Requires: python3-numpy
+
+%description
+PyTorch is a Python package that provides two high-level features:
+- Tensor computation (like NumPy) with strong GPU acceleration
+- Deep neural networks built on a tape-based autograd system
+You can reuse your favorite Python packages such as NumPy, SciPy and Cython to extend PyTorch when needed.
+
+%package -n python3-pytorch
+Summary: Tensors and Dynamic neural networks in Python with strong GPU acceleration
+Provides: python-torch
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-setuptools_scm
+BuildRequires: python3-pbr
+BuildRequires: python3-pip
+BuildRequires: python3-wheel
+BuildRequires: python3-hatchling
+
+BuildRequires: python3-astunparse
+BuildRequires: python3-numpy
+BuildRequires: python3-pyyaml
+BuildRequires: cmake
+BuildRequires: python3-typing-extensions
+BuildRequires: python3-requests
+
+%description -n python3-pytorch
+PyTorch is a Python package that provides two high-level features:
+- Tensor computation (like NumPy) with strong GPU acceleration
+- Deep neural networks built on a tape-based autograd system
+You can reuse your favorite Python packages such as NumPy, SciPy and Cython to extend PyTorch when needed.
+
+%package help
+Summary: Development documents and examples for torch
+Provides: python3-pytorch-doc
+%description help
+PyTorch is a Python package that provides two high-level features:
+- Tensor computation (like NumPy) with strong GPU acceleration
+- Deep neural networks built on a tape-based autograd system
+You can reuse your favorite Python packages such as NumPy, SciPy and Cython to extend PyTorch when needed.
+
+%prep
+%autosetup -p1 -n %{name}-v%{version}
+
+%build
+export CFLAGS+=" -Wno-error=maybe-uninitialized -Wno-error=uninitialized -Wno-error=restrict -fPIC"
+export CXXFLAGS+=" -Wno-error=maybe-uninitialized -Wno-error=uninitialized -Wno-error=restrict -fPIC"
+%pyproject_build
+
+%install
+%pyproject_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-pytorch
+%doc *.md
+%license LICENSE
+%{_bindir}/convert-caffe2-to-onnx
+%{_bindir}/convert-onnx-to-caffe2
+%{_bindir}/torchrun
+%{python3_sitearch}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed Mar 5 2025 zhangzikang <zhangzikang@kylinos.cn> - 2.1.2-5
+- Sync from 24.03sp1: Fix build error for loongarch64
+
+* Wed Mar 5 2025 wangxiaomeng <wangxiaomeng@kylinos.cn> - 2.1.2-4
+- Sync from 24.03sp1: Fix CVE-2024-31584
+
+* Wed Jul 17 2024 Dingli Zhang <dingli@iscas.ac.cn> - 2.1.2-3
+- Fix build error for riscv64
+
+* Thu Jan 11 2024 Dongxing Wang <dongxing.wang_a@thundersoft.com> - 2.1.2-2
+- Patch: Add -Wno-error=nonnull for test/cpp/api/
+
+* Thu Dec 28 2023 Dongxing Wang <dongxing.wang_a@thundersoft.com> - 2.1.2-1
+- upgrade to 2.1.2
+
+* Thu Aug 17 2023 Dongxing Wang <dxwangk@isoftstone.com> - 2.0.1-2
+- Fix the EulerMaker failure for verion 2.0.1
+
+* Mon Jul 24 2023 Dongxing Wang <dxwangk@isoftstone.com> - 2.0.1-1
+- upgrade to 2.0.1
+
+* Thu Feb 16 2023 Dongxing Wang <dxwangk@isoftstone.com> - 1.11.0-2
+- fixes: error: the CXX 11 compiler error (linux.cc flexible array member not at end of struct)
+
+* Mon Jun 13 2022 Zhipeng Xie <xiezhipeng1@huawei.com> - 1.11.0-1
+- upgrade to 1.11.0
+
+* Mon Jun 28 2021 wulei <wulei80@huawei.com> - 1.6.0-3
+- fixes: error: the CXX compiler identification is unknown
+
+* Thu Feb 4 2021 Zhipeng Xie<xiezhipeng1@huawei.com> - 1.6.0-2
+- disable SVE to fix compile error in gcc 9
+
+* Sun Sep 27 2020 Zhipeng Xie<xiezhipeng1@huawei.com> - 1.6.0-1
+- Package init
diff --git a/sources b/sources
new file mode 100644
index 0000000..d6ba785
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+99afc663efe0dfe7fb8296b222e6eec8 pytorch-v2.1.2.tar.gz