1
0
forked from pool/onednn

Accepting request 1073552 from home:Guillaume_G:branches:science:machinelearning

- Update to 3.0.1:
  * Changes: https://github.com/oneapi-src/oneDNN/releases/tag/v3.0.1
- Skipped 3.0:
  * Changes: https://github.com/oneapi-src/oneDNN/releases/tag/v3.0
- Add patch to fix build with GCC13:
  * onednn-fix-gcc13.patch
- Disable Arm Compute library support until fixed upstream
  https://github.com/oneapi-src/oneDNN/issues/1599
- Drop upstream patches:
  * 1428.patch
  * fa93750.patch

OBS-URL: https://build.opensuse.org/request/show/1073552
OBS-URL: https://build.opensuse.org/package/show/science:machinelearning/onednn?expand=0&rev=20
This commit is contained in:
Guillaume GARDET 2023-03-21 13:30:45 +00:00 committed by Git OBS Bridge
parent f2a81390aa
commit 4d0cc01e1d
7 changed files with 36 additions and 1268 deletions

View File

@ -1,34 +0,0 @@
From 24d4c1379d3c4cbf423f979fa25283b1914159c7 Mon Sep 17 00:00:00 2001
From: Diana Bite <diana.bite@arm.com>
Date: Thu, 21 Jul 2022 12:27:17 +0100
Subject: [PATCH] cpu: aarch64: acl: disallow large padding in ACL wino to be
consist with oneDNN
---
src/cpu/aarch64/acl_convolution_utils.cpp | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/src/cpu/aarch64/acl_convolution_utils.cpp b/src/cpu/aarch64/acl_convolution_utils.cpp
index db3bde6a48..542033df0e 100644
--- a/src/cpu/aarch64/acl_convolution_utils.cpp
+++ b/src/cpu/aarch64/acl_convolution_utils.cpp
@@ -307,10 +307,17 @@ status_t init_conf_wino(acl_conv_conf_t &acp, memory_desc_t &src_md,
// General Compute Library checks, memory tags are also set there
CHECK(acl_init_conf(acp, src_md, weights_md, dst_md, bias_md, cd, attr));
- const bool wino_shape_ok // unit strides only, no dilations
+ const bool shape_ok
+ // only unit strides allowed
= (acp.padstride_info.stride() == std::pair<uint, uint> {1, 1})
+ // Note: Compute Library supports arbitrary padding for wino kernels
+ // but we only allow small padding to be consistent with oneDNN
+ && (acp.padstride_info.pad().first <= 1) // padding left/right
+ && (acp.padstride_info.pad().second <= 1) // padding top/bottom
+ // only non-dilated convolutions allowed
&& (acp.dilation_info == arm_compute::Size2D(1, 1));
- if (!wino_shape_ok) return status::unimplemented;
+
+ ACL_CHECK_SUPPORT(!shape_ok, "shape not supported by winograd kernels");
// clang-format off
// Validate convolution manually to check for return status

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:baed0a7426189c6e5f1cb242c6d282d3638802cbd05772e1c4810a83bd7bc4df
size 5846494

3
oneDNN-3.0.1.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f7aca425e9895b791a942ae755edc28f1b9f9fe9bf94291c59f33ebcf5859f2c
size 7189577

10
onednn-fix-gcc13.patch Normal file
View File

@ -0,0 +1,10 @@
--- oneDNN-3.0.1/src/cpu/aarch64/xbyak_aarch64/xbyak_aarch64/xbyak_aarch64.h.orig 2023-02-24 03:36:27.000000000 +0100
+++ oneDNN-3.0.1/src/cpu/aarch64/xbyak_aarch64/xbyak_aarch64/xbyak_aarch64.h 2023-03-21 13:44:05.786852048 +0100
@@ -25,6 +25,7 @@
#endif
#include <algorithm>
+#include <cstdint>
#include <deque>
#include <initializer_list>
#include <iostream>

View File

@ -1,3 +1,18 @@
-------------------------------------------------------------------
Tue Mar 21 10:27:40 UTC 2023 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Update to 3.0.1:
* Changes: https://github.com/oneapi-src/oneDNN/releases/tag/v3.0.1
- Skipped 3.0:
* Changes: https://github.com/oneapi-src/oneDNN/releases/tag/v3.0
- Add patch to fix build with GCC13:
* onednn-fix-gcc13.patch
- Disable Arm Compute library support until fixed upstream
https://github.com/oneapi-src/oneDNN/issues/1599
- Drop upstream patches:
* 1428.patch
* fa93750.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Sep 20 08:26:43 UTC 2022 - Guillaume GARDET <guillaume.gardet@opensuse.org> Tue Sep 20 08:26:43 UTC 2022 - Guillaume GARDET <guillaume.gardet@opensuse.org>

View File

@ -1,7 +1,7 @@
# #
# spec file for package onednn # spec file for package onednn
# #
# Copyright (c) 2022 SUSE LLC # Copyright (c) 2023 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -24,23 +24,22 @@
%endif %endif
%ifarch aarch64 %ifarch aarch64
%bcond_without acl # Disable ACL until fixed upstream - https://github.com/oneapi-src/oneDNN/issues/1599
%bcond_with acl
%else %else
%bcond_with acl %bcond_with acl
%endif %endif
%define libname libdnnl2 %define libname libdnnl3
Name: onednn Name: onednn
Version: 2.6.2 Version: 3.0.1
Release: 0 Release: 0
Summary: Intel Math Kernel Library for Deep Neural Networks Summary: Intel Math Kernel Library for Deep Neural Networks
License: Apache-2.0 License: Apache-2.0
URL: https://01.org/onednn URL: https://01.org/onednn
Source0: https://github.com/oneapi-src/oneDNN/archive/v%{version}/oneDNN-%{version}.tar.gz Source0: https://github.com/oneapi-src/oneDNN/archive/v%{version}/oneDNN-%{version}.tar.gz
# PATCH-FIX-UPSTREAM - deps for Patch2 # PATCH-FIX-UPSTREAM - https://github.com/oneapi-src/oneDNN/issues/1600
Patch1: fa93750.patch Patch1: onednn-fix-gcc13.patch
# PATCH-FIX-UPSTREAM - Fix build with latest ACL - https://github.com/oneapi-src/oneDNN/pull/1428
Patch2: 1428.patch
BuildRequires: chrpath BuildRequires: chrpath
BuildRequires: cmake BuildRequires: cmake
BuildRequires: doxygen BuildRequires: doxygen
@ -49,7 +48,7 @@ BuildRequires: gcc-c++
BuildRequires: graphviz BuildRequires: graphviz
BuildRequires: texlive-dvips-bin BuildRequires: texlive-dvips-bin
%if %{with acl} %if %{with acl}
BuildRequires: ComputeLibrary-devel BuildRequires: ComputeLibrary-devel >= 22.08
%endif %endif
%if %{with opencl} %if %{with opencl}
BuildRequires: opencl-headers BuildRequires: opencl-headers