6 Star 1 Fork 36

src-openEuler/pytorch

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
0002-Fix-build-error-for-riscv64.patch 3.55 KB
一键复制 编辑 原始数据 按行查看 历史
Dingli Zhang 提交于 2024-08-14 15:38 . Fix build error for riscv64
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
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/src-openeuler/pytorch.git
git@gitee.com:src-openeuler/pytorch.git
src-openeuler
pytorch
pytorch
master

搜索帮助