add loongarch64 support
modify spec modify spec
This commit is contained in:
parent
87a9859d6f
commit
a8334cbeec
46
0001-oneDNN-2.6.2-add-loongarch64-support.patch
Normal file
46
0001-oneDNN-2.6.2-add-loongarch64-support.patch
Normal file
@ -0,0 +1,46 @@
|
||||
diff -Naur oneDNN-2.6.bak/cmake/platform.cmake oneDNN-2.6/cmake/platform.cmake
|
||||
--- oneDNN-2.6.bak/cmake/platform.cmake 2024-05-16 19:21:17.453108850 +0800
|
||||
+++ oneDNN-2.6/cmake/platform.cmake 2024-05-16 19:38:59.705108850 +0800
|
||||
@@ -195,8 +195,10 @@
|
||||
if (CMAKE_SYSTEM_PROCESSOR STREQUAL CMAKE_HOST_SYSTEM_PROCESSOR)
|
||||
append(DEF_ARCH_OPT_FLAGS "-march=native")
|
||||
endif()
|
||||
- elseif(DNNL_TARGET_ARCH STREQUAL "X64")
|
||||
- set(DEF_ARCH_OPT_FLAGS "-msse4.1")
|
||||
+ elseif(DNNL_TARGET_ARCH STREQUAL "LOONGARCH64")
|
||||
+ set(DEF_ARCH_OPT_FLAGS "-O3")
|
||||
+ elseif(DNNL_TARGET_ARCH STREQUAL "X64")
|
||||
+ set(DEF_ARCH_OPT_FLAGS "-msse4.1")
|
||||
endif()
|
||||
# Clang cannot vectorize some loops with #pragma omp simd and gets
|
||||
# very upset. Tell it that it's okay and that we love it
|
||||
@@ -297,7 +299,16 @@
|
||||
elseif(DNNL_TARGET_ARCH STREQUAL "RV64")
|
||||
# G = General-purpose extensions, C = Compression extension (very common).
|
||||
append(DEF_ARCH_OPT_FLAGS "-march=rv64gc")
|
||||
- elseif(DNNL_TARGET_ARCH STREQUAL "X64")
|
||||
+ elseif(DNNL_TARGET_ARCH STREQUAL "LOONGARCH64")
|
||||
+ if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
+ set(DEF_ARCH_OPT_FLAGS "-O3")
|
||||
+ endif()
|
||||
+ # In GCC, -ftree-vectorize is turned on under -O3 since 2007.
|
||||
+ # For native compilation tune for the host processor
|
||||
+ if (CMAKE_SYSTEM_PROCESSOR STREQUAL CMAKE_HOST_SYSTEM_PROCESSOR)
|
||||
+ append(DEF_ARCH_OPT_FLAGS "-march=native")
|
||||
+ endif()
|
||||
+ elseif(DNNL_TARGET_ARCH STREQUAL "X64")
|
||||
platform_gnu_x64_arch_ccxx_flags(DEF_ARCH_OPT_FLAGS)
|
||||
endif()
|
||||
platform_gnu_nowarn_ccxx_flags(CMAKE_CCXX_NOWARN_FLAGS ${CMAKE_CXX_COMPILER_VERSION})
|
||||
diff -Naur oneDNN-2.6.bak/CMakeLists.txt oneDNN-2.6/CMakeLists.txt
|
||||
--- oneDNN-2.6.bak/CMakeLists.txt 2024-05-16 19:21:17.449108850 +0800
|
||||
+++ oneDNN-2.6/CMakeLists.txt 2024-05-16 19:33:40.165108850 +0800
|
||||
@@ -95,6 +95,8 @@
|
||||
set(DNNL_TARGET_ARCH "S390X")
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(rv.*|RV.*|riscv.*|RISCV.*)")
|
||||
set(DNNL_TARGET_ARCH "RV64")
|
||||
+ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(larch64.*|loongarch64.*|loongarch64-64.*)")
|
||||
+ set(DNNL_TARGET_ARCH "LOONGARCH64")
|
||||
else()
|
||||
set(DNNL_TARGET_ARCH "X64")
|
||||
endif()
|
||||
@ -2,16 +2,16 @@
|
||||
|
||||
Name: onednn
|
||||
Version: 2.6
|
||||
Release: 2
|
||||
Release: 3
|
||||
Summary: Deep Neural Network Library
|
||||
|
||||
License: ASL 2.0 and BSD and Boost and MIT
|
||||
URL: https://github.com/oneapi-src/oneDNN/
|
||||
Source0: %{url}/archive/v%{version}/onednn-%{version}.tar.gz
|
||||
|
||||
Patch0: 0001-oneDNN-2.6.2-add-loongarch64-support.patch
|
||||
|
||||
# This package only work in 64bit arches for now
|
||||
ExclusiveArch: x86_64 aarch64 riscv64
|
||||
ExclusiveArch: x86_64 aarch64 riscv64 loongarch64
|
||||
|
||||
BuildRequires: cmake doxygen gcc-c++
|
||||
|
||||
@ -89,6 +89,9 @@ rm -rf %{buildroot}%{_docdir}/dnnl
|
||||
%{_libdir}/cmake/dnnl/*.cmake
|
||||
|
||||
%changelog
|
||||
* Thu May 16 2024 shenzhongwei <shenzhongwei@kylinos.cn> - 2.6-3
|
||||
- Add loongarch64 support
|
||||
|
||||
* Wed Feb 8 2023 laokz <zhangkai@iscas.ac.cn> - 2.6-2
|
||||
- Add riscv64 to ExclusiveArch.
|
||||
* Sat Aug 6 2022 wisespreading <wisespreading@gmail.com> - 2.6-1
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user