Skip to content

Commit bc89a0b

Browse files
author
Jenkins
committed
Compute Library v24.02
1 parent afb5a98 commit bc89a0b

File tree

145 files changed

+5491
-3994
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

145 files changed

+5491
-3994
lines changed

Android.bp

Lines changed: 2 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
//
2-
// Copyright © 2020-2023 Arm Ltd. All rights reserved.
2+
// Copyright © 2020-2024 Arm Ltd. All rights reserved.
33
// SPDX-License-Identifier: MIT
44
//
55

@@ -161,8 +161,7 @@ arm_compute_library_defaults {
161161
"-Wno-unused-parameter",
162162
"-DNO_DOT_IN_TOOLCHAIN",
163163
"-Wno-implicit-fallthrough",
164-
"-fPIC",
165-
"-DACL_INTERNAL_TEST_CKW_IN_DF"
164+
"-fPIC"
166165
],
167166
rtti: true,
168167
}
@@ -173,8 +172,6 @@ cc_library_static {
173172
proprietary: true,
174173
local_include_dirs: ["build/android-arm64v8a/src/core",
175174
"build/android-arm64v8a/src/core/CL",
176-
"compute_kernel_writer/prototype/include",
177-
"compute_kernel_writer/prototype",
178175
"src/core/common",
179176
"src/core/helpers",
180177
"src/core/NEON/kernels/arm_gemm",
@@ -184,15 +181,6 @@ cc_library_static {
184181
"src/cpu/kernels/assembly"],
185182
export_include_dirs: [".", "./include"],
186183
srcs: [
187-
"compute_kernel_writer/prototype/src/Kernel.cpp",
188-
"compute_kernel_writer/prototype/src/KernelArgument.cpp",
189-
"compute_kernel_writer/prototype/src/KernelWriter.cpp",
190-
"compute_kernel_writer/prototype/src/OperandBase.cpp",
191-
"compute_kernel_writer/prototype/src/TensorInfo.cpp",
192-
"compute_kernel_writer/prototype/src/TensorOperand.cpp",
193-
"compute_kernel_writer/prototype/src/TensorTileSampler.cpp",
194-
"compute_kernel_writer/prototype/src/TileInfo.cpp",
195-
"compute_kernel_writer/prototype/src/TileOperand.cpp",
196184
"src/c/AclContext.cpp",
197185
"src/c/AclOperator.cpp",
198186
"src/c/AclQueue.cpp",
@@ -624,7 +612,6 @@ cc_library_static {
624612
"src/cpu/operators/internal/CpuGemmAssemblyDispatch.cpp",
625613
"src/dynamic_fusion/runtime/gpu/cl/ClKernelRuntime.cpp",
626614
"src/dynamic_fusion/runtime/gpu/cl/ClWorkloadRuntime.cpp",
627-
"src/dynamic_fusion/runtime/gpu/cl/ckw_driver/GpuCkwKernelArgumentsHelpers.cpp",
628615
"src/dynamic_fusion/sketch/attributes/CastAttributes.cpp",
629616
"src/dynamic_fusion/sketch/attributes/ClampAttributes.cpp",
630617
"src/dynamic_fusion/sketch/attributes/Conv2dAttributes.cpp",
@@ -642,20 +629,6 @@ cc_library_static {
642629
"src/dynamic_fusion/sketch/gpu/GpuOperatorGroup.cpp",
643630
"src/dynamic_fusion/sketch/gpu/GpuWorkloadContext.cpp",
644631
"src/dynamic_fusion/sketch/gpu/GpuWorkloadSketch.cpp",
645-
"src/dynamic_fusion/sketch/gpu/ckw_driver/GpuCkwComponentArgument.cpp",
646-
"src/dynamic_fusion/sketch/gpu/ckw_driver/GpuCkwDriver.cpp",
647-
"src/dynamic_fusion/sketch/gpu/ckw_driver/GpuCkwKernelWriter.cpp",
648-
"src/dynamic_fusion/sketch/gpu/ckw_driver/GpuCkwScopedKernelWriter.cpp",
649-
"src/dynamic_fusion/sketch/gpu/ckw_driver/GpuCkwVariableTable.cpp",
650-
"src/dynamic_fusion/sketch/gpu/ckw_driver/components/GpuCkwActivation.cpp",
651-
"src/dynamic_fusion/sketch/gpu/ckw_driver/components/GpuCkwCast.cpp",
652-
"src/dynamic_fusion/sketch/gpu/ckw_driver/components/GpuCkwDepthwiseConv2d.cpp",
653-
"src/dynamic_fusion/sketch/gpu/ckw_driver/components/GpuCkwDirectConv2d.cpp",
654-
"src/dynamic_fusion/sketch/gpu/ckw_driver/components/GpuCkwElementwiseBinary.cpp",
655-
"src/dynamic_fusion/sketch/gpu/ckw_driver/components/GpuCkwMatMul.cpp",
656-
"src/dynamic_fusion/sketch/gpu/ckw_driver/components/GpuCkwPool2d.cpp",
657-
"src/dynamic_fusion/sketch/gpu/ckw_driver/components/GpuCkwResize.cpp",
658-
"src/dynamic_fusion/sketch/gpu/ckw_driver/components/GpuCkwStore.cpp",
659632
"src/dynamic_fusion/sketch/gpu/components/cl/ClComponentActivation.cpp",
660633
"src/dynamic_fusion/sketch/gpu/components/cl/ClComponentCast.cpp",
661634
"src/dynamic_fusion/sketch/gpu/components/cl/ClComponentDepthwiseConv2d.cpp",

CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ cmake_minimum_required(VERSION 3.13 FATAL_ERROR)
2828
list(APPEND CMAKE_MESSAGE_CONTEXT ArmCompute)
2929
project(
3030
ArmCompute
31-
VERSION 34.0.0
31+
VERSION 35.0.0
3232
DESCRIPTION
3333
"The Arm Compute Library is a collection of low-level machine learning functions optimized for Arm® Cortex®-A CPU and Arm® Mali™ GPU architectures"
3434
LANGUAGES C CXX ASM)
@@ -58,6 +58,7 @@ endif()
5858
# Configuration
5959

6060
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -gdwarf-2 -DARM_COMPUTE_ASSERTS_ENABLED")
61+
set(CMAKE_CXX_FLAGS_RELEASE "-O3")
6162
# Default to Release Build
6263
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
6364
set(CMAKE_BUILD_TYPE
@@ -106,8 +107,7 @@ set(COMMON_CXX_FLAGS
106107
-Wlogical-op
107108
-Wnoexcept
108109
-Wstrict-null-sentinel
109-
-Wno-misleading-indentation
110-
-O3)
110+
-Wno-misleading-indentation)
111111

112112
# Disable note popups on compiler ABI changes
113113
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")

README.md

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,12 @@
44
> future releases. The implication of this is that the user is expected to translate NCHW models into NHWC in
55
> order to benefit from the optimizations.
66
7-
> **⚠ Important**
8-
> From release 23.02: The 23.02 release introduces a change to the default tensor extend padding behavior.
9-
> To remain compatible with previous behavior, users will need to set the new flag `ITensorInfo::lock_paddings()` on
10-
> tensors for which paddings should not be extended, such as the input and output of the model that need to be mapped to
11-
> a camera frame or frame buffer.
12-
137
<br>
148
<div align="center">
159
<img src="https://raw.githubusercontent.com/ARM-software/ComputeLibrary/gh-pages/ACL_logo.png"/><br><br>
1610
</div>
1711

18-
# Compute Library ![](https://img.shields.io/badge/latest_release-24.01-green)
12+
# Compute Library ![](https://img.shields.io/badge/latest_release-24.02-green)
1913

2014

2115
The Compute Library is a collection of low-level machine learning functions optimized for Arm® Cortex®-A, Arm® Neoverse® and Arm® Mali™ GPUs architectures.<br>
@@ -43,7 +37,7 @@ Key Features:
4337
<br>
4438

4539
## Documentation
46-
[![Documentation](https://img.shields.io/badge/documentation-24.01-green)](https://arm-software.github.io/ComputeLibrary/latest)
40+
[![Documentation](https://img.shields.io/badge/documentation-24.02-green)](https://arm-software.github.io/ComputeLibrary/latest)
4741

4842
> Note: The documentation includes the reference API, changelogs, build guide, contribution guide, errata, etc.
4943
@@ -56,24 +50,24 @@ All the binaries can be downloaded from [here](https://github.com/ARM-software/C
5650

5751
| Platform | Operating System | Release archive (Download) |
5852
| -------------- | ---------------- | -------------------------- |
59-
| Raspberry Pi 4 | Linux® 32bit | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.01/arm_compute-v24.01-bin-linux-armv7a-neon.tar.gz) |
60-
| Raspberry Pi 4 | Linux® 64bit | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.01/arm_compute-v24.01-bin-linux-arm64-v8a-neon.tar.gz) |
61-
| Odroid N2 | Linux® 64bit | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.01/arm_compute-v24.01-bin-linux-arm64-v8a-neon.tar.gz) [![](https://img.shields.io/badge/build-opencl-blue)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.01/arm_compute-v24.01-bin-linux-arm64-v8a-cl.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.01/arm_compute-v24.01-bin-linux-arm64-v8a-neon-cl.tar.gz) |
62-
| HiKey960 | Linux® 64bit | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.01/arm_compute-v24.01-bin-linux-arm64-v8a-neon.tar.gz) [![](https://img.shields.io/badge/build-opencl-blue)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.01/arm_compute-v24.01-bin-linux-arm64-v8a-cl.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.01/arm_compute-v24.01-bin-linux-arm64-v8a-neon-cl.tar.gz) |
53+
| Raspberry Pi 4 | Linux® 32bit | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.02/arm_compute-v24.02-bin-linux-armv7a-neon.tar.gz) |
54+
| Raspberry Pi 4 | Linux® 64bit | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.02/arm_compute-v24.02-bin-linux-arm64-v8a-neon.tar.gz) |
55+
| Odroid N2 | Linux® 64bit | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.02/arm_compute-v24.02-bin-linux-arm64-v8a-neon.tar.gz) [![](https://img.shields.io/badge/build-opencl-blue)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.02/arm_compute-v24.02-bin-linux-arm64-v8a-cl.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.02/arm_compute-v24.02-bin-linux-arm64-v8a-neon-cl.tar.gz) |
56+
| HiKey960 | Linux® 64bit | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.02/arm_compute-v24.02-bin-linux-arm64-v8a-neon.tar.gz) [![](https://img.shields.io/badge/build-opencl-blue)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.02/arm_compute-v24.02-bin-linux-arm64-v8a-cl.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.02/arm_compute-v24.02-bin-linux-arm64-v8a-neon-cl.tar.gz) |
6357

6458
<br>
6559

6660
| Architecture | Operating System | Release archive (Download) |
6761
| ------------ | ---------------- | -------------------------- |
68-
| armv7 | Linux® | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.01/arm_compute-v24.01-bin-linux-armv7a-neon.tar.gz) [![](https://img.shields.io/badge/build-opencl-blue)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.01/arm_compute-v24.01-bin-linux-armv7a-cl.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.01/arm_compute-v24.01-bin-linux-armv7a-neon-cl.tar.gz) |
69-
| arm64-v8a | Android™ | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.01/arm_compute-v24.01-bin-android-arm64-v8a-neon.tar.gz) [![](https://img.shields.io/badge/build-opencl-blue)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.01/arm_compute-v24.01-bin-android-arm64-v8a-cl.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.01/arm_compute-v24.01-bin-android-arm64-v8a-neon-cl.tar.gz) |
70-
| arm64-v8a | Linux® | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.01/arm_compute-v24.01-bin-linux-arm64-v8a-neon.tar.gz) [![](https://img.shields.io/badge/build-opencl-blue)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.01/arm_compute-v24.01-bin-linux-arm64-v8a-cl.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.01/arm_compute-v24.01-bin-linux-arm64-v8a-neon-cl.tar.gz) |
71-
| arm64-v8.2-a | Android™ | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.01/arm_compute-v24.01-bin-android-arm64-v8.2-a-neon.tar.gz) [![](https://img.shields.io/badge/build-opencl-blue)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.01/arm_compute-v24.01-bin-android-arm64-v8.2-a-cl.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.01/arm_compute-v24.01-bin-android-arm64-v8.2-a-neon-cl.tar.gz) |
72-
| arm64-v8.2-a | Linux® | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.01/arm_compute-v24.01-bin-linux-arm64-v8.2-a-neon.tar.gz) [![](https://img.shields.io/badge/build-opencl-blue)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.01/arm_compute-v24.01-bin-linux-arm64-v8.2-a-cl.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.01/arm_compute-v24.01-bin-linux-arm64-v8.2-a-neon-cl.tar.gz) |
62+
| armv7 | Linux® | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.02/arm_compute-v24.02-bin-linux-armv7a-neon.tar.gz) [![](https://img.shields.io/badge/build-opencl-blue)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.02/arm_compute-v24.02-bin-linux-armv7a-cl.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.02/arm_compute-v24.02-bin-linux-armv7a-neon-cl.tar.gz) |
63+
| arm64-v8a | Android™ | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.02/arm_compute-v24.02-bin-android-arm64-v8a-neon.tar.gz) [![](https://img.shields.io/badge/build-opencl-blue)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.02/arm_compute-v24.02-bin-android-arm64-v8a-cl.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.02/arm_compute-v24.02-bin-android-arm64-v8a-neon-cl.tar.gz) |
64+
| arm64-v8a | Linux® | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.02/arm_compute-v24.02-bin-linux-arm64-v8a-neon.tar.gz) [![](https://img.shields.io/badge/build-opencl-blue)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.02/arm_compute-v24.02-bin-linux-arm64-v8a-cl.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.02/arm_compute-v24.02-bin-linux-arm64-v8a-neon-cl.tar.gz) |
65+
| arm64-v8.2-a | Android™ | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.02/arm_compute-v24.02-bin-android-arm64-v8.2-a-neon.tar.gz) [![](https://img.shields.io/badge/build-opencl-blue)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.02/arm_compute-v24.02-bin-android-arm64-v8.2-a-cl.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.02/arm_compute-v24.02-bin-android-arm64-v8.2-a-neon-cl.tar.gz) |
66+
| arm64-v8.2-a | Linux® | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.02/arm_compute-v24.02-bin-linux-arm64-v8.2-a-neon.tar.gz) [![](https://img.shields.io/badge/build-opencl-blue)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.02/arm_compute-v24.02-bin-linux-arm64-v8.2-a-cl.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.02/arm_compute-v24.02-bin-linux-arm64-v8.2-a-neon-cl.tar.gz) |
7367

7468
<br>
7569

76-
Please refer to the following link for more pre-built binaries: [![](https://img.shields.io/badge/v24.01-bins-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/tag/v24.01)
70+
Please refer to the following link for more pre-built binaries: [![](https://img.shields.io/badge/v24.02-bins-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/tag/v24.02)
7771

7872
Pre-build binaries are generated with the following security / good coding practices related flags:
7973
> -Wall, -Wextra, -Wformat=2, -Winit-self, -Wstrict-overflow=2, -Wswitch-default, -Woverloaded-virtual, -Wformat-security, -Wctor-dtor-privacy, -Wsign-promo, -Weffc++, -pedantic, -fstack-protector-strong

SConscript

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ import zlib
3131
import json
3232
import codecs
3333

34-
VERSION = "v24.01"
35-
LIBRARY_VERSION_MAJOR = 34
34+
VERSION = "v24.02"
35+
LIBRARY_VERSION_MAJOR = 35
3636
LIBRARY_VERSION_MINOR = 0
3737
LIBRARY_VERSION_PATCH = 0
3838
SONAME_VERSION = str(LIBRARY_VERSION_MAJOR) + "." + str(LIBRARY_VERSION_MINOR) + "." + str(LIBRARY_VERSION_PATCH)
@@ -93,7 +93,7 @@ def build_multiisa_lib_objects():
9393
'ARM_COMPUTE_ENABLE_I8MM', 'ARM_COMPUTE_ENABLE_SVEF32MM'])
9494

9595
# Build all the common files for the base architecture
96-
if env['arch'] == 'armv8a':
96+
if env['arch'] == 'armv8a' or env['arch'] == 'arm64-v8a':
9797
lib_static_objs += build_obj_list(filedefs["armv8-a"], misa_lib_files, static=True)
9898
lib_shared_objs += build_obj_list(filedefs["armv8-a"], misa_lib_files, static=False)
9999
else:
@@ -137,7 +137,7 @@ def recursive_glob(root_dir, pattern):
137137

138138

139139
def get_ckw_obj_list():
140-
cmake_obj_dir = os.path.abspath("prototype/CMakeFiles/ckw_prototype.dir/src")
140+
cmake_obj_dir = os.path.abspath("CMakeFiles/ckw.dir/src")
141141
return recursive_glob(root_dir=cmake_obj_dir, pattern=".*.o$")
142142

143143

@@ -163,7 +163,7 @@ def build_library(name, build_env, sources, static=False, libs=[]):
163163
else:
164164
# Always statically link Compute Library against CKW
165165
if env['experimental_dynamic_fusion'] and name == "arm_compute":
166-
libs.append('libckw_prototype.a')
166+
libs.append('libckw.a')
167167

168168
# Add shared library versioning
169169
if env['set_soname']:
@@ -532,8 +532,9 @@ arm_compute_env.Append(CPPDEFINES = [('ARM_COMPUTE_VERSION_MAJOR', LIBRARY_VERSI
532532

533533
# Don't allow undefined references in the libraries:
534534
undefined_flag = '-Wl,-undefined,error' if 'macos' in arm_compute_env["os"] else '-Wl,--no-undefined'
535-
if not env['thread_sanitizer']:
535+
if not env['thread_sanitizer'] and not env['address_sanitizer'] and not env['undefined_sanitizer']:
536536
arm_compute_env.Append(LINKFLAGS=[undefined_flag])
537+
537538
arm_compute_env.Append(CPPPATH =[Dir("./src/core/").path] )
538539

539540
if env['os'] != 'openbsd':

0 commit comments

Comments
 (0)