1
0

Accepting request 883851 from science:machinelearning

OBS-URL: https://build.opensuse.org/request/show/883851
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ComputeLibrary?expand=0&rev=8
This commit is contained in:
Richard Brown 2021-04-08 19:32:42 +00:00 committed by Git OBS Bridge
commit 76adfd9434
5 changed files with 282 additions and 10 deletions

View File

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

View File

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

View File

@ -1,3 +1,23 @@
-------------------------------------------------------------------
Wed Apr 7 16:40:47 UTC 2021 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Add patch to fix build of ArmNN with openCL:
* acl-fix-packaging-issue.patch
-------------------------------------------------------------------
Wed Apr 7 11:12:51 UTC 2021 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Package separately libarm_compute_core and libarm_compute_graph
-------------------------------------------------------------------
Mon Mar 29 12:14:30 UTC 2021 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Update to 21.02:
* Public major release
* Documentation (API, changelogs, build guide,
contribution guide, errata, etc.) available here:
https://arm-software.github.io/ComputeLibrary/v21.02/
-------------------------------------------------------------------
Wed Dec 9 14:30:01 UTC 2020 - Guillaume GARDET <guillaume.gardet@opensuse.org>

View File

@ -1,7 +1,7 @@
#
# spec file for package ComputeLibrary
#
# Copyright (c) 2020 SUSE LLC
# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -16,16 +16,18 @@
#
%define so_ver 21
%define so_ver 22
# Disable validation tests by default due to opencl needing to be set up
%bcond_with computelibrary_tests
Name: ComputeLibrary
Version: 20.11
Version: 21.02
Release: 0
Summary: ARM Compute Library
License: MIT
URL: https://developer.arm.com/technologies/compute-library
Source: https://github.com/ARM-software/ComputeLibrary/archive/v%{version}.tar.gz#/ComputeLibrary-%{version}.tar.gz
# PATCH-FIX-UPSTREAM - https://github.com/ARM-software/armnn/issues/531
Patch1: acl-fix-packaging-issue.patch
BuildRequires: gcc-c++
BuildRequires: git-core
BuildRequires: ocl-icd-devel
@ -46,10 +48,30 @@ A software library for computer vision and machine learning.
The Compute Library is a collection of low-level functions optimized for Arm CPU and GPU architectures targeted at image processing, computer vision, and machine learning.
Library part.
%package -n libarm_compute_core%{so_ver}
Summary: ARM Compute Library - Core part
%description -n libarm_compute_core%{so_ver}
A software library for computer vision and machine learning.
The Compute Library is a collection of low-level functions optimized for Arm CPU and GPU architectures targeted at image processing, computer vision, and machine learning.
Library part.
%package -n libarm_compute_graph%{so_ver}
Summary: ARM Compute Library - Graph part
%description -n libarm_compute_graph%{so_ver}
A software library for computer vision and machine learning.
The Compute Library is a collection of low-level functions optimized for Arm CPU and GPU architectures targeted at image processing, computer vision, and machine learning.
Library part.
%package devel
Summary: ARM Compute Library -- devel
Requires: %{name} = %{version}
Requires: libarm_compute%{so_ver} = %{version}
Requires: libarm_compute_core%{so_ver} = %{version}
Requires: libarm_compute_graph%{so_ver} = %{version}
# stb headers are required
Requires: stb-devel
%description devel
A software library for computer vision and machine learning.
@ -64,10 +86,12 @@ Summary: Compute Library sample data
Free *.npy and *.ppm files to use with example binaries.
%prep
%setup -q -n ComputeLibrary-%{version}
%autosetup -p1 -n ComputeLibrary-%{version}
%build
scons os=linux build=native \
scons os=linux \
build=native \
install_dir=install \
set_soname=1 \
examples=1 \
gles_compute=0 \
@ -98,8 +122,9 @@ mkdir -p %{buildroot}%{_bindir}
install -Dm0755 build/examples/* %{buildroot}%{_bindir}/
mkdir -p %{buildroot}%{_libdir}
cp -a build/*.so* %{buildroot}%{_libdir}/
# FIXME: scons should install headers thanks to: install_dir=%%{buildroot}%%{_prefix} but this is broken
mkdir -p %{buildroot}%{_includedir}/
cp -a arm_compute/ include/half/ include/libnpy/ support/ utils/ %{buildroot}%{_includedir}/
cp -a arm_compute/ support/ utils/ include/half/ include/libnpy/ include/linux %{buildroot}%{_includedir}/
# Remove *.cpp files from includedir
rm -f $(find %{buildroot}%{_includedir}/ -name *.cpp)
# Install sample data
@ -107,6 +132,7 @@ mkdir -p %{buildroot}%{_datadir}/ComputeLibrary/%{sampledir}
cp -r data/* %{buildroot}%{_datadir}/ComputeLibrary/%{sampledir}
# Install scripts
install -Dm0755 scripts/* %{buildroot}%{_bindir}
rm -f %{buildroot}%{_bindir}/*.h
# Fix Python scripts interpreter
for pyfile in `ls %{buildroot}%{_bindir}/*.py`; do
sed -i -e 's|#!%{_bindir}/env python|#!%{_bindir}/python|' $pyfile
@ -115,6 +141,12 @@ done
%post -n libarm_compute%{so_ver} -p /sbin/ldconfig
%postun -n libarm_compute%{so_ver} -p /sbin/ldconfig
%post -n libarm_compute_core%{so_ver} -p /sbin/ldconfig
%postun -n libarm_compute_core%{so_ver} -p /sbin/ldconfig
%post -n libarm_compute_graph%{so_ver} -p /sbin/ldconfig
%postun -n libarm_compute_graph%{so_ver} -p /sbin/ldconfig
%if %{with computelibrary_tests}
%check
LD_LIBRARY_PATH="build/" build/tests/arm_compute_validation
@ -125,17 +157,27 @@ LD_LIBRARY_PATH="build/" build/tests/arm_compute_validation
%files -n libarm_compute%{so_ver}
%license LICENSE
%{_libdir}/*.so.%{so_ver}*
%{_libdir}/libarm_compute.so.%{so_ver}*
%files -n libarm_compute_core%{so_ver}
%license LICENSE
%{_libdir}/libarm_compute_core.so.%{so_ver}*
%files -n libarm_compute_graph%{so_ver}
%license LICENSE
%{_libdir}/libarm_compute_graph.so.%{so_ver}*
%files devel
%dir %{_includedir}/arm_compute
%dir %{_includedir}/half
%dir %{_includedir}/libnpy
%dir %{_includedir}/linux
%dir %{_includedir}/support
%dir %{_includedir}/utils
%{_includedir}/arm_compute/*
%{_includedir}/half/*
%{_includedir}/libnpy/*
%{_includedir}/linux/*
%{_includedir}/support/*
%{_includedir}/utils/*
%{_libdir}/*.so

View File

@ -0,0 +1,210 @@
From 368aec3803280924eb003e423b90128265bed677 Mon Sep 17 00:00:00 2001
From: Sheri Zhang <sheri.zhang@arm.com>
Date: Tue, 6 Apr 2021 18:26:44 +0100
Subject: [PATCH] Fix Debian packaging issue caused by headers from src are
included by runtime header
Use forward declation for CLFillBorderKernel and CLScaleKernel used by CLSacle, and include header files in .cpp file.
Resolves: COMPMID-4350
Signed-off-by: Sheri Zhang <sheri.zhang@arm.com>
Change-Id: I285488d35bd3b2df49b86ba16428e55c1fd80eaa
---
arm_compute/runtime/CL/functions/CLScale.h | 8 ++++----
examples/cl_events.cpp | 4 +++-
examples/neoncl_scale_median_gaussian.cpp | 2 ++
src/runtime/CL/functions/CLCropResize.cpp | 1 +
src/runtime/CL/functions/CLLaplacianReconstruct.cpp | 3 ++-
src/runtime/CL/functions/CLScale.cpp | 4 ++++
tests/benchmark/CL/Scale.cpp | 3 ++-
tests/validation/CL/LaplacianReconstruct.cpp | 4 +++-
tests/validation/CL/Scale.cpp | 4 +++-
9 files changed, 24 insertions(+), 9 deletions(-)
diff --git a/arm_compute/runtime/CL/functions/CLScale.h b/arm_compute/runtime/CL/functions/CLScale.h
index 173919097..749411a43 100644
--- a/arm_compute/runtime/CL/functions/CLScale.h
+++ b/arm_compute/runtime/CL/functions/CLScale.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016-2020 Arm Limited.
+ * Copyright (c) 2016-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -28,8 +28,6 @@
#include "arm_compute/core/Types.h"
#include "arm_compute/runtime/CL/CLRuntimeContext.h"
#include "arm_compute/runtime/IFunction.h"
-#include "src/core/CL/kernels/CLFillBorderKernel.h"
-#include "src/core/CL/kernels/CLScaleKernel.h"
#include <cstdint>
@@ -39,6 +37,8 @@ namespace arm_compute
class CLCompileContext;
class ICLTensor;
class ITensorInfo;
+class CLFillBorderKernel;
+class CLScaleKernel;
/** Basic function to run @ref CLScaleKernel */
class CLScale : public IFunction
@@ -47,7 +47,7 @@ public:
/** Default Constructor */
CLScale();
/** Default Destructor */
- ~CLScale() = default;
+ ~CLScale();
/** Prevent instances of this class from being copied (As this class contains pointers) */
CLScale(const CLScale &) = delete;
/** Default move constructor */
diff --git a/examples/cl_events.cpp b/examples/cl_events.cpp
index 27c063cbc..46a613f71 100644
--- a/examples/cl_events.cpp
+++ b/examples/cl_events.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2020 Arm Limited.
+ * Copyright (c) 2017-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -30,6 +30,8 @@
#include "arm_compute/runtime/CL/functions/CLGaussian5x5.h"
#include "arm_compute/runtime/CL/functions/CLMedian3x3.h"
#include "arm_compute/runtime/CL/functions/CLScale.h"
+#include "src/core/CL/kernels/CLFillBorderKernel.h"
+#include "src/core/CL/kernels/CLScaleKernel.h"
#include "utils/ImageLoader.h"
#include "utils/Utils.h"
diff --git a/examples/neoncl_scale_median_gaussian.cpp b/examples/neoncl_scale_median_gaussian.cpp
index 2580a35f2..2a096366f 100644
--- a/examples/neoncl_scale_median_gaussian.cpp
+++ b/examples/neoncl_scale_median_gaussian.cpp
@@ -30,6 +30,8 @@
#include "arm_compute/runtime/CL/functions/CLGaussian5x5.h"
#include "arm_compute/runtime/CL/functions/CLScale.h"
#include "arm_compute/runtime/NEON/NEFunctions.h"
+#include "src/core/CL/kernels/CLFillBorderKernel.h"
+#include "src/core/CL/kernels/CLScaleKernel.h"
#include "utils/ImageLoader.h"
#include "utils/Utils.h"
diff --git a/src/runtime/CL/functions/CLCropResize.cpp b/src/runtime/CL/functions/CLCropResize.cpp
index 77c44d539..c0bc70202 100644
--- a/src/runtime/CL/functions/CLCropResize.cpp
+++ b/src/runtime/CL/functions/CLCropResize.cpp
@@ -26,6 +26,7 @@
#include "arm_compute/core/CL/CLHelpers.h"
#include "arm_compute/runtime/CL/CLScheduler.h"
#include "src/core/CL/kernels/CLFillBorderKernel.h"
+#include "src/core/CL/kernels/CLScaleKernel.h"
#include "src/core/helpers/AutoConfiguration.h"
#include "src/core/helpers/WindowHelpers.h"
diff --git a/src/runtime/CL/functions/CLLaplacianReconstruct.cpp b/src/runtime/CL/functions/CLLaplacianReconstruct.cpp
index d7fd81754..8e490a4c1 100644
--- a/src/runtime/CL/functions/CLLaplacianReconstruct.cpp
+++ b/src/runtime/CL/functions/CLLaplacianReconstruct.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2020 Arm Limited.
+ * Copyright (c) 2017-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -30,6 +30,7 @@
#include "arm_compute/core/TensorInfo.h"
#include "arm_compute/core/Validate.h"
#include "src/core/CL/kernels/CLFillBorderKernel.h"
+#include "src/core/CL/kernels/CLScaleKernel.h"
#include <cstddef>
diff --git a/src/runtime/CL/functions/CLScale.cpp b/src/runtime/CL/functions/CLScale.cpp
index 9862d0a1b..7c5af64f5 100644
--- a/src/runtime/CL/functions/CLScale.cpp
+++ b/src/runtime/CL/functions/CLScale.cpp
@@ -27,6 +27,8 @@
#include "arm_compute/core/Error.h"
#include "arm_compute/core/Validate.h"
#include "arm_compute/runtime/CL/CLScheduler.h"
+#include "src/core/CL/kernels/CLFillBorderKernel.h"
+#include "src/core/CL/kernels/CLScaleKernel.h"
namespace arm_compute
{
@@ -35,6 +37,8 @@ CLScale::CLScale()
{
}
+CLScale::~CLScale() = default;
+
void CLScale::configure(ICLTensor *input, ICLTensor *output, const ScaleKernelInfo &info)
{
configure(CLKernelLibrary::get().get_compile_context(), input, output, info);
diff --git a/tests/benchmark/CL/Scale.cpp b/tests/benchmark/CL/Scale.cpp
index 8a1ceb663..66f90f160 100644
--- a/tests/benchmark/CL/Scale.cpp
+++ b/tests/benchmark/CL/Scale.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2020 Arm Limited.
+ * Copyright (c) 2017-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -27,6 +27,7 @@
#include "arm_compute/runtime/CL/CLTensorAllocator.h"
#include "arm_compute/runtime/CL/functions/CLScale.h"
#include "src/core/CL/kernels/CLFillBorderKernel.h"
+#include "src/core/CL/kernels/CLScaleKernel.h"
#include "tests/CL/CLAccessor.h"
#include "tests/benchmark/fixtures/ScaleFixture.h"
#include "tests/datasets/BorderModeDataset.h"
diff --git a/tests/validation/CL/LaplacianReconstruct.cpp b/tests/validation/CL/LaplacianReconstruct.cpp
index e6e32ce91..96202cd4d 100644
--- a/tests/validation/CL/LaplacianReconstruct.cpp
+++ b/tests/validation/CL/LaplacianReconstruct.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018-2020 Arm Limited.
+ * Copyright (c) 2018-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -27,6 +27,8 @@
#include "arm_compute/runtime/CL/functions/CLLaplacianReconstruct.h"
#include "arm_compute/runtime/Tensor.h"
#include "arm_compute/runtime/TensorAllocator.h"
+#include "src/core/CL/kernels/CLFillBorderKernel.h"
+#include "src/core/CL/kernels/CLScaleKernel.h"
#include "tests/CL/CLAccessor.h"
#include "tests/datasets/BorderModeDataset.h"
#include "tests/datasets/ShapeDatasets.h"
diff --git a/tests/validation/CL/Scale.cpp b/tests/validation/CL/Scale.cpp
index 523b49deb..4e4fe6bb4 100644
--- a/tests/validation/CL/Scale.cpp
+++ b/tests/validation/CL/Scale.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2020 Arm Limited.
+ * Copyright (c) 2017-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -26,6 +26,8 @@
#include "arm_compute/runtime/CL/functions/CLScale.h"
#include "arm_compute/runtime/Tensor.h"
#include "arm_compute/runtime/TensorAllocator.h"
+#include "src/core/CL/kernels/CLFillBorderKernel.h"
+#include "src/core/CL/kernels/CLScaleKernel.h"
#include "tests/CL/CLAccessor.h"
#include "tests/PaddingCalculator.h"
#include "tests/datasets/ScaleValidationDataset.h"
--
GitLab