[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1057643: marked as done (onednn: add support for loongarch64)



Your message dated Mon, 07 Apr 2025 16:24:37 +0000
with message-id <E1u1pH3-001sZW-Im@fasolo.debian.org>
and subject line Bug#1057643: fixed in onednn 3.7.2+ds-1
has caused the Debian Bug report #1057643,
regarding onednn: add support for loongarch64
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
1057643: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1057643
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Source: onednn
Version: 2.7.4-2
Severity: wishlist
Tags: patch
User: debian-loongarch@lists.debian.org
Usertags: loong64

Dear maintainers,

The onednn source package lacks LoongArch architecture support.
We need to add loongarch64 support in d/control and source code.

Please consider the patch I have attached.
The onednn source package was compiled successfully on my local loong64 rootfs environment.
And the test cases passed, for examples,
```
......
101/101 Test #101: noexcept-cpp .....................................   Passed    0.00 sec
100% tests passed, 0 tests failed out of 101
Total Test time (real) = 177.87 sec
```
If you have any questions, you can contact me at any time.

thanks,
Dandan Zhang

diff -Nru onednn-2.7.4/debian/control onednn-2.7.4/debian/control
--- onednn-2.7.4/debian/control	2023-08-17 18:24:42.000000000 +0000
+++ onednn-2.7.4/debian/control	2023-08-17 18:37:11.000000000 +0000
@@ -17,7 +17,7 @@
 
 Package: libdnnl-dev
 Section: libdevel
-Architecture: amd64 arm64 ppc64el s390x
+Architecture: amd64 arm64 ppc64el s390x loong64
 Multi-Arch: same
 Depends: libdnnl2 (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
 Recommends: ocl-icd-opencl-dev
@@ -36,7 +36,7 @@
 
 Package: libdnnl2
 Section: libs
-Architecture: amd64 arm64 ppc64el s390x
+Architecture: amd64 arm64 ppc64el s390x loong64
 Multi-Arch: same
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Breaks: libmkldnn1
diff -Nru onednn-2.7.4/debian/patches/add-support-for-loongarch64.patch onednn-2.7.4/debian/patches/add-support-for-loongarch64.patch
--- onednn-2.7.4/debian/patches/add-support-for-loongarch64.patch	1970-01-01 00:00:00.000000000 +0000
+++ onednn-2.7.4/debian/patches/add-support-for-loongarch64.patch	2023-08-17 18:37:11.000000000 +0000
@@ -0,0 +1,80 @@
+Description: Add support for loongarch64 
+Author: Dandan Zhang <zhangdandan@loongson.cn> 
+Last-Update: 2023-11-30
+
+--- onednn-2.7.4.orig/CMakeLists.txt
++++ onednn-2.7.4/CMakeLists.txt
+@@ -95,6 +95,8 @@ if(NOT DNNL_TARGET_ARCH)
+         set(DNNL_TARGET_ARCH "S390X")
+     elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(rv.*|RV.*|riscv.*|RISCV.*)")
+         set(DNNL_TARGET_ARCH "RV64")
++    elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(loongarch64.*|LOONGARCH64.*|loong64.*|LOONG64.*)")
++	set(DNNL_TARGET_ARCH "LOONGARCH64")
+     else()
+         set(DNNL_TARGET_ARCH "X64")
+     endif()
+--- onednn-2.7.4.orig/cmake/platform.cmake
++++ onednn-2.7.4/cmake/platform.cmake
+@@ -318,6 +318,15 @@ elseif(UNIX OR MINGW)
+             append(DEF_ARCH_OPT_FLAGS "-march=rv64gc")
+         elseif(DNNL_TARGET_ARCH STREQUAL "X64")
+             platform_gnu_x64_arch_ccxx_flags(DEF_ARCH_OPT_FLAGS)
++        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()
+         endif()
+         platform_gnu_nowarn_ccxx_flags(CMAKE_CCXX_NOWARN_FLAGS ${CMAKE_CXX_COMPILER_VERSION})
+     elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
+--- onednn-2.7.4.orig/src/cpu/README.md
++++ onednn-2.7.4/src/cpu/README.md
+@@ -46,6 +46,7 @@ enable or disable parts of code. There t
+ - `DNNL_PPC64` is 1 on OpenPOWER / IBM Power architecture;
+ - `DNNL_S390X` is 1 on IBMz / s390x architecture;
+ - `DNNL_RV64` is 1 on RISC-V architecture;
++- `DNNL_LOONGARCH64` is 1 on LoongArch architecture;
+ - `DNNL_ARCH_GENERIC` is 1 on other platforms.
+ Only one of the macros above is defined to 1. All others are defined to 0.
+ 
+--- onednn-2.7.4.orig/src/cpu/platform.hpp
++++ onednn-2.7.4/src/cpu/platform.hpp
+@@ -30,6 +30,7 @@
+ // - DNNL_PPC64
+ // - DNNL_S390X
+ // - DNNL_RV64
++// - DNNL_LOONGARCH64
+ // - DNNL_ARCH_GENERIC
+ // Target architecture macro is set to 1, others to 0. All macros are defined.
+ 
+@@ -47,13 +48,15 @@
+ #define DNNL_S390X 1
+ #elif defined(__riscv)
+ #define DNNL_RV64 1
++#elif defined(__loongarch64)
++#define DNNL_LOONGARCH64 1
+ #else
+ #define DNNL_ARCH_GENERIC 1
+ #endif
+ #endif // defined(DNNL_X64) + ... == 0
+ 
+ #if defined(DNNL_X64) + defined(DNNL_AARCH64) + defined(DNNL_PPC64) \
+-                + defined(DNNL_S390X) + defined(DNNL_RV64) \
++                + defined(DNNL_S390X) + defined(DNNL_RV64) + defined(DNNL_LOONGARCH64) \
+                 + defined(DNNL_ARCH_GENERIC) \
+         != 1
+ #error One and only one architecture should be defined at a time
+@@ -74,6 +77,9 @@
+ #if !defined(DNNL_RV64)
+ #define DNNL_RV64 0
+ #endif
++#if !defined(DNNL_LOONGARCH64)
++#define DNNL_LOONGARCH64 0
++#endif
+ #if !defined(DNNL_ARCH_GENERIC)
+ #define DNNL_ARCH_GENERIC 0
+ #endif
diff -Nru onednn-2.7.4/debian/patches/series onednn-2.7.4/debian/patches/series
--- onednn-2.7.4/debian/patches/series	2023-08-17 18:37:11.000000000 +0000
+++ onednn-2.7.4/debian/patches/series	2023-08-17 18:37:11.000000000 +0000
@@ -1 +1,2 @@
 fix-gcc13-ftbfs.patch
+add-support-for-loongarch64.patch

--- End Message ---
--- Begin Message ---
Source: onednn
Source-Version: 3.7.2+ds-1
Done: Shengqi Chen <harry@debian.org>

We believe that the bug you reported is fixed in the latest version of
onednn, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1057643@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Shengqi Chen <harry@debian.org> (supplier of updated onednn package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Tue, 08 Apr 2025 00:02:17 +0800
Source: onednn
Architecture: source
Version: 3.7.2+ds-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Deep Learning Team <debian-ai@lists.debian.org>
Changed-By: Shengqi Chen <harry@debian.org>
Closes: 1057643
Changes:
 onednn (3.7.2+ds-1) unstable; urgency=medium
 .
   * New upstream version 3.7.2+ds.
   * d/control: bump std-ver to 4.7.2 (no changes required).
   * Add patch to add basic build support on loong64 (closes: #1057643).
   * d/control: enable libdnnl{,-dev} on loong64.
Checksums-Sha1:
 30eec527cf3535fa29bd501d3ac6756acd0c56d5 2297 onednn_3.7.2+ds-1.dsc
 8c76d92ddd9b524c6d5feca51ca01aa0c2bc4908 9898052 onednn_3.7.2+ds.orig.tar.xz
 826d545e4ba292d771b2d413a8841fd6c496e161 13588 onednn_3.7.2+ds-1.debian.tar.xz
 7c37baddb7d52b5bc92d020fba06f9ccd2b7bc1a 7571 onednn_3.7.2+ds-1_amd64.buildinfo
Checksums-Sha256:
 962c31d6a8f1bd949759e9503cf14991021eb0a02f6be0ddcd6246c2459950ed 2297 onednn_3.7.2+ds-1.dsc
 0cc51ca26c1af6a2bb1e71e378e7046f3ceb3e71791ee9d4e246d50f904a6ea6 9898052 onednn_3.7.2+ds.orig.tar.xz
 90ad3ab8f1e03964dae6d6baaef0d75b7449425629dee6a541e7dace9d3f4b18 13588 onednn_3.7.2+ds-1.debian.tar.xz
 b2bc88db8dea9b3e33b055db94616c2569beec25eba9fce1f1ffebd9e598a700 7571 onednn_3.7.2+ds-1_amd64.buildinfo
Files:
 9b69f42d50264262677bac87bbdda67e 2297 science optional onednn_3.7.2+ds-1.dsc
 82a5dbb097b6282c1b5ba5f1a87d9cb2 9898052 science optional onednn_3.7.2+ds.orig.tar.xz
 89cf94f40b75df7ff3404369db60ab0a 13588 science optional onednn_3.7.2+ds-1.debian.tar.xz
 97aa1e31790d622c19281a006b1f31da 7571 science optional onednn_3.7.2+ds-1_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEE+Fg++qmpHzqjSzySzhGnsHs6uUYFAmfz+QIACgkQzhGnsHs6
uUZubw/6Alzgzo9BbBime3jwnyd5zYYfpHcAydjNZGUTkkp3FmCJm003HmsOBE/y
FV4eFFkQnRrPTWKNA97AYbnnlfT+qdYaATLqIGfb2nlIVY75ypXrSKOM+zrMojIC
jjdddbwe8UeQX1K+d3PVCxaxs3YLOzalbxxL0m/mbzSZ1QI2bX5lSoCs6wYKXFja
ZmxJ2X2M+hLRsLxtj06ha+umM0lYumsWNW8defP1ysyddQOnaT8qfaGCAZtVYqg7
uviSBimlKctxhw7pJZeZqgJI1dTyeJroiscQrYKG0OJSBXnOUvptLP6sJZlJ4Cg4
dmZWBe5qbXVAxVpy/rICxC1AJkD4JiqZk3Y6z45h3gbcdUPMWMmH/GmfkzHLX8EG
4U6eKqpA4BeT2vJ1e0ZmZJbh5NmlclaSmTcxSOaFS5a8a2vl/k81zaXPyEiLqyNj
t7PbYqdQN9rxsSF+yKSaG1YZl14MCH3L2ov7viZg6Ix7wOxCH/jWXSkrbg67oSsE
L++0MRpMHLe7lyQIxTS1DNYwqJ3XoXZnyoow0OasdPiic+1xUOJNlu+b8DnFJPfT
tXUBIxm1/uE6FeC3QXNtAE06cCVbwBhmt4ty835lVJ9dTPCW4ikvoJuUA5tv4XXR
yWRuk/BKCrKQm8FGeWvZoN37H92C0NYTHVp1T6hDtrC/2jWIYgU=
=TucL
-----END PGP SIGNATURE-----

Attachment: pgpTtsJzy9Llq.pgp
Description: PGP signature


--- End Message ---

Reply to: