Fix build error for riscv64
This commit is contained in:
parent
c29b4b63d9
commit
26b9876e31
74
0004-Fix-build-error-for-riscv64.patch
Normal file
74
0004-Fix-build-error-for-riscv64.patch
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
From 1dc0fa9e37959b8fedfd1799670388e3f06d0ecc Mon Sep 17 00:00:00 2001
|
||||||
|
From: Dingli Zhang <dingli@iscas.ac.cn>
|
||||||
|
Date: Tue, 16 Jul 2024 17:52:28 +0000
|
||||||
|
Subject: [PATCH] Fix build error for riscv64
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/third_party/benchmark/src/cycleclock.h b/third_party/benchmark/src/cycleclock.h
|
||||||
|
index d65d32a3..452e11e4 100644
|
||||||
|
--- a/third_party/benchmark/src/cycleclock.h
|
||||||
|
+++ b/third_party/benchmark/src/cycleclock.h
|
||||||
|
@@ -208,7 +208,7 @@ inline BENCHMARK_ALWAYS_INLINE int64_t Now() {
|
||||||
|
asm volatile("rdcycle %0" : "=r"(cycles));
|
||||||
|
return cycles;
|
||||||
|
#endif
|
||||||
|
-#elif defined(__e2k__) || defined(__elbrus__)
|
||||||
|
+#elif defined(__e2k__) || defined(__elbrus__) || defined(__riscv)
|
||||||
|
struct timeval tv;
|
||||||
|
gettimeofday(&tv, nullptr);
|
||||||
|
return static_cast<int64_t>(tv.tv_sec) * 1000000 + tv.tv_usec;
|
||||||
|
diff --git a/third_party/onnx-tensorrt/third_party/onnx/third_party/benchmark/src/cycleclock.h b/third_party/onnx-tensorrt/third_party/onnx/third_party/benchmark/src/cycleclock.h
|
||||||
|
index 3b376ac5..add2f298 100644
|
||||||
|
--- a/third_party/onnx-tensorrt/third_party/onnx/third_party/benchmark/src/cycleclock.h
|
||||||
|
+++ b/third_party/onnx-tensorrt/third_party/onnx/third_party/benchmark/src/cycleclock.h
|
||||||
|
@@ -153,7 +153,7 @@ inline BENCHMARK_ALWAYS_INLINE int64_t Now() {
|
||||||
|
struct timeval tv;
|
||||||
|
gettimeofday(&tv, nullptr);
|
||||||
|
return static_cast<int64_t>(tv.tv_sec) * 1000000 + tv.tv_usec;
|
||||||
|
-#elif defined(__mips__)
|
||||||
|
+#elif defined(__mips__) || defined(__riscv)
|
||||||
|
// mips apparently only allows rdtsc for superusers, so we fall
|
||||||
|
// back to gettimeofday. It's possible clock_gettime would be better.
|
||||||
|
struct timeval tv;
|
||||||
|
diff --git a/third_party/onnx/third_party/benchmark/src/cycleclock.h b/third_party/onnx/third_party/benchmark/src/cycleclock.h
|
||||||
|
index d65d32a3..452e11e4 100644
|
||||||
|
--- a/third_party/onnx/third_party/benchmark/src/cycleclock.h
|
||||||
|
+++ b/third_party/onnx/third_party/benchmark/src/cycleclock.h
|
||||||
|
@@ -208,7 +208,7 @@ inline BENCHMARK_ALWAYS_INLINE int64_t Now() {
|
||||||
|
asm volatile("rdcycle %0" : "=r"(cycles));
|
||||||
|
return cycles;
|
||||||
|
#endif
|
||||||
|
-#elif defined(__e2k__) || defined(__elbrus__)
|
||||||
|
+#elif defined(__e2k__) || defined(__elbrus__) || defined(__riscv)
|
||||||
|
struct timeval tv;
|
||||||
|
gettimeofday(&tv, nullptr);
|
||||||
|
return static_cast<int64_t>(tv.tv_sec) * 1000000 + tv.tv_usec;
|
||||||
|
diff --git a/third_party/protobuf/third_party/benchmark/src/cycleclock.h b/third_party/protobuf/third_party/benchmark/src/cycleclock.h
|
||||||
|
index 4251fe4c..07d63307 100644
|
||||||
|
--- a/third_party/protobuf/third_party/benchmark/src/cycleclock.h
|
||||||
|
+++ b/third_party/protobuf/third_party/benchmark/src/cycleclock.h
|
||||||
|
@@ -153,7 +153,7 @@ inline BENCHMARK_ALWAYS_INLINE int64_t Now() {
|
||||||
|
struct timeval tv;
|
||||||
|
gettimeofday(&tv, nullptr);
|
||||||
|
return static_cast<int64_t>(tv.tv_sec) * 1000000 + tv.tv_usec;
|
||||||
|
-#elif defined(__mips__)
|
||||||
|
+#elif defined(__mips__) || defined(__riscv)
|
||||||
|
// mips apparently only allows rdtsc for superusers, so we fall
|
||||||
|
// back to gettimeofday. It's possible clock_gettime would be better.
|
||||||
|
struct timeval tv;
|
||||||
|
diff --git a/third_party/sleef/src/arch/helperpurec_scalar.h b/third_party/sleef/src/arch/helperpurec_scalar.h
|
||||||
|
index e77e518f..f28c2b83 100644
|
||||||
|
--- a/third_party/sleef/src/arch/helperpurec_scalar.h
|
||||||
|
+++ b/third_party/sleef/src/arch/helperpurec_scalar.h
|
||||||
|
@@ -54,7 +54,7 @@
|
||||||
|
#define ENABLE_FMA_SP
|
||||||
|
//@#define ENABLE_FMA_SP
|
||||||
|
|
||||||
|
-#if defined(__AVX2__) || defined(__aarch64__) || defined(__arm__) || defined(__powerpc64__) || defined(__zarch__) || CONFIG == 3
|
||||||
|
+#if defined(__AVX2__) || defined(__aarch64__) || defined(__arm__) || defined(__powerpc64__) || defined(__zarch__) || defined(__riscv) || CONFIG == 3
|
||||||
|
#ifndef FP_FAST_FMA
|
||||||
|
#define FP_FAST_FMA
|
||||||
|
//@#define FP_FAST_FMA
|
||||||
|
--
|
||||||
|
2.41.0
|
||||||
|
|
||||||
@ -1,7 +1,7 @@
|
|||||||
%global _empty_manifest_terminate_build 0
|
%global _empty_manifest_terminate_build 0
|
||||||
Name: pytorch
|
Name: pytorch
|
||||||
Version: 2.1.2
|
Version: 2.1.2
|
||||||
Release: 4
|
Release: 5
|
||||||
Summary: Tensors and Dynamic neural networks in Python with strong GPU acceleration
|
Summary: Tensors and Dynamic neural networks in Python with strong GPU acceleration
|
||||||
License: BSD-3-Clause
|
License: BSD-3-Clause
|
||||||
URL: https://pytorch.org/
|
URL: https://pytorch.org/
|
||||||
@ -12,6 +12,9 @@ Patch2: 0001-Fix-for-PyTorch-mobile-flatbuffer-loader-out-of-bounds-reads.patch
|
|||||||
%ifarch loongarch64
|
%ifarch loongarch64
|
||||||
Patch3: 0003-Add-loongarch64-support-for-third_party.patch
|
Patch3: 0003-Add-loongarch64-support-for-third_party.patch
|
||||||
%endif
|
%endif
|
||||||
|
%ifarch riscv64
|
||||||
|
Patch4: 0004-Fix-build-error-for-riscv64.patch
|
||||||
|
%endif
|
||||||
|
|
||||||
BuildRequires: g++
|
BuildRequires: g++
|
||||||
Requires: python3-future
|
Requires: python3-future
|
||||||
@ -91,6 +94,9 @@ mv %{buildroot}/doclist.lst .
|
|||||||
%{_docdir}/*
|
%{_docdir}/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Jul 17 2024 Dingli Zhang <dingli@iscas.ac.cn> - 2.1.2-5
|
||||||
|
- Fix build error for riscv64
|
||||||
|
|
||||||
* Wed May 22 2024 zhangzikang <zhangzikang@kylinos.cn> - 2.1.2-4
|
* Wed May 22 2024 zhangzikang <zhangzikang@kylinos.cn> - 2.1.2-4
|
||||||
- Fix build error for loongarch64
|
- Fix build error for loongarch64
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user