Skip to content

Commit 32bcced

Browse files
author
Jenkins
committed
Compute Library v24.12
1 parent 1f3bf6b commit 32bcced

38 files changed

+516
-42063
lines changed

.bazelrc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2023 Arm Limited.
1+
# Copyright (c) 2023-2024 Arm Limited.
22
#
33
# SPDX-License-Identifier: MIT
44
#
@@ -39,3 +39,4 @@ build --flag_alias=cppthreads=//:cppthreads
3939
build --flag_alias=enable_bf16_validation=//:enable_bf16_validation
4040
build --flag_alias=enable_sve_validation=//:enable_sve_validation
4141
build --flag_alias=arch=//:arch
42+
build --flag_alias=thread_local_scheduler=//:thread_local_scheduler

BUILD.bazel

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2023 Arm Limited.
1+
# Copyright (c) 2023-2024 Arm Limited.
22
#
33
# SPDX-License-Identifier: MIT
44
#
@@ -78,6 +78,12 @@ bool_flag(
7878
visibility = ["//visibility:public"],
7979
)
8080

81+
bool_flag(
82+
name = "thread_local_scheduler",
83+
build_setting_default = True,
84+
visibility = ["//visibility:public"],
85+
)
86+
8187
string_flag(
8288
name = "arch",
8389
build_setting_default = "armv8-a",
@@ -152,6 +158,12 @@ config_setting(
152158
}
153159
)
154160

161+
config_setting(
162+
name = "thread_local_scheduler_flag",
163+
flag_values = {
164+
":thread_local_scheduler": "true",
165+
},
166+
)
155167

156168
#---------------------------------------------------------------------
157169
# Common defines used for all targets
@@ -196,6 +208,10 @@ cc_library(
196208
"//:arch_armv8-a": [],
197209
"//:arch_armv8.2-a+fp16": ["ENABLE_FP16_KERNELS", "ARM_COMPUTE_ENABLE_FP16"],
198210
"//conditions:default": [],
211+
}) +
212+
select({
213+
"//:thread_local_scheduler_flag": ["ARM_COMPUTE_THREAD_LOCAL_SCHEDULER"],
214+
"//conditions:default": [],
199215
}),
200216
visibility = ["//visibility:public"],
201217
)

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
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 44.0.0
31+
VERSION 45.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)

README.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<img src="https://raw.githubusercontent.com/ARM-software/ComputeLibrary/gh-pages/ACL_logo.png"/><br><br>
1010
</div>
1111

12-
# Compute Library ![](https://img.shields.io/badge/latest_release-24.11.1-green)
12+
# Compute Library ![](https://img.shields.io/badge/latest_release-24.12-green)
1313

1414

1515
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>
@@ -37,7 +37,7 @@ Key Features:
3737
<br>
3838

3939
## Documentation
40-
[![Documentation](https://img.shields.io/badge/documentation-24.11.1-green)](https://artificial-intelligence.sites.arm.com/computelibrary/v24.11.1/index.xhtml)
40+
[![Documentation](https://img.shields.io/badge/documentation-24.12-green)](https://artificial-intelligence.sites.arm.com/computelibrary/v24.12/index.xhtml)
4141

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

5151
| Platform | Operating System | Release archive (Download) |
5252
| -------------- | ---------------- | -------------------------- |
53-
| Raspberry Pi 4 | Linux® 32bit | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.11.1/arm_compute-v24.11.1-linux-armv7a-cpu-bin.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.11.1/arm_compute-v24.11.1-linux-aarch64-cpu-bin.tar.gz) |
55-
| Odroid N2 | Linux® 64bit | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.11.1/arm_compute-v24.11.1-linux-aarch64-cpu-bin.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.11.1/arm_compute-v24.11.1-linux-aarch64-cpu-gpu-bin.tar.gz) |
56-
| HiKey960 | Linux® 64bit | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.11.1/arm_compute-v24.11.1-linux-aarch64-cpu-bin.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.11.1/arm_compute-v24.11.1-linux-aarch64-cpu-gpu-bin.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.12/arm_compute-v24.12-linux-armv7a-cpu-bin.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.12/arm_compute-v24.12-linux-aarch64-cpu-bin.tar.gz) |
55+
| Odroid N2 | Linux® 64bit | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.12/arm_compute-v24.12-linux-aarch64-cpu-bin.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.12/arm_compute-v24.12-linux-aarch64-cpu-gpu-bin.tar.gz) |
56+
| HiKey960 | Linux® 64bit | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.12/arm_compute-v24.12-linux-aarch64-cpu-bin.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.12/arm_compute-v24.12-linux-aarch64-cpu-gpu-bin.tar.gz) |
5757

5858
<br>
5959

6060
| Architecture | Operating System | Release archive (Download) |
6161
| ------------ | ---------------- | -------------------------- |
62-
| armv7 | Linux® | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.11.1/arm_compute-v24.11.1-linux-armv7a-cpu-bin.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.11.1/arm_compute-v24.11.1-linux-armv7a-cpu-gpu-bin.tar.gz) |
63-
| arm64-v8a | Android™ | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.11.1/arm_compute-v24.11.1-android-aarch64-cpu-bin.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.11.1/arm_compute-v24.11.1-android-aarch64-cpu-gpu-bin.tar.gz) |
64-
| arm64-v8a | Linux® | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.11.1/arm_compute-v24.11.1-linux-aarch64-cpu-bin.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.11.1/arm_compute-v24.11.1-linux-aarch64-cpu-gpu-bin.tar.gz) |
62+
| armv7 | Linux® | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.12/arm_compute-v24.12-linux-armv7a-cpu-bin.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.12/arm_compute-v24.12-linux-armv7a-cpu-gpu-bin.tar.gz) |
63+
| arm64-v8a | Android™ | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.12/arm_compute-v24.12-android-aarch64-cpu-bin.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.12/arm_compute-v24.12-android-aarch64-cpu-gpu-bin.tar.gz) |
64+
| arm64-v8a | Linux® | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.12/arm_compute-v24.12-linux-aarch64-cpu-bin.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v24.12/arm_compute-v24.12-linux-aarch64-cpu-gpu-bin.tar.gz) |
6565

6666
<br>
6767

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

7070
Pre-build binaries are generated with the following security / good coding practices related flags:
7171
> -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
@@ -107,13 +107,13 @@ Pre-build binaries are generated with the following security / good coding pract
107107

108108
## Experimental builds
109109

110-
**⚠ Important** Bazel and CMake builds are experimental CPU only builds, please see the [documentation](https://artificial-intelligence.sites.arm.com/computelibrary/v24.11.1/how_to_build.xhtml) for more details.
110+
**⚠ Important** Bazel and CMake builds are experimental CPU only builds, please see the [documentation](https://artificial-intelligence.sites.arm.com/computelibrary/v24.12/how_to_build.xhtml) for more details.
111111

112112
<br>
113113

114114
## How to contribute
115115

116-
Contributions to the Compute Library are more than welcome. If you are interested on contributing, please have a look at our [how to contribute guidelines](https://artificial-intelligence.sites.arm.com/computelibrary/v24.11.1/contribution_guidelines.xhtml).
116+
Contributions to the Compute Library are more than welcome. If you are interested on contributing, please have a look at our [how to contribute guidelines](https://artificial-intelligence.sites.arm.com/computelibrary/v24.12/contribution_guidelines.xhtml).
117117

118118
### Developer Certificate of Origin (DCO)
119119
Before the Compute Library accepts your contribution, you need to certify its origin and give us your permission. To manage this process we use the Developer Certificate of Origin (DCO) V1.1 (https://developercertificate.org/)

REUSE.toml

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# SPDX-FileCopyrightText: 2024 Arm Limited
2+
#
3+
# SPDX-License-Identifier: MIT
4+
#
5+
# Permission is hereby granted, free of charge, to any person obtaining a copy
6+
# of this software and associated documentation files (the "Software"), to
7+
# deal in the Software without restriction, including without limitation the
8+
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
9+
# sell copies of the Software, and to permit persons to whom the Software is
10+
# furnished to do so, subject to the following conditions:
11+
#
12+
# The above copyright notice and this permission notice shall be included in all
13+
# copies or substantial portions of the Software.
14+
#
15+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
# SOFTWARE.
22+
23+
version = 1
24+
25+
[[annotations]]
26+
path = ["filedefs.json"]
27+
SPDX-FileCopyrightText = "2021-2023 Arm Limited"
28+
SPDX-License-Identifier = "MIT"
29+
30+
[[annotations]]
31+
path = ["filelist.json"]
32+
SPDX-FileCopyrightText = "2021-2024 Arm Limited"
33+
SPDX-License-Identifier = "MIT"
34+
35+
[[annotations]]
36+
path = [
37+
"data/images/*",
38+
".clang-tidy",
39+
"SECURITY.md"
40+
]
41+
SPDX-FileCopyrightText = "2020 Arm Limited"
42+
SPDX-License-Identifier = "MIT"
43+
44+
[[annotations]]
45+
path = [".github/issue_template.md"]
46+
SPDX-FileCopyrightText = "2018 Arm Limited"
47+
SPDX-License-Identifier = "MIT"
48+
49+
[[annotations]]
50+
path = ["CONTRIBUTING.md"]
51+
SPDX-FileCopyrightText = "2022-2024 Arm Limited"
52+
SPDX-License-Identifier = "MIT"
53+
54+
[[annotations]]
55+
path = ["README.md"]
56+
SPDX-FileCopyrightText = "2018-2024 Arm Limited"
57+
SPDX-License-Identifier = "MIT"
58+
59+
[[annotations]]
60+
path = ["compute_kernel_writer/README.md"]
61+
SPDX-FileCopyrightText = "2023 Arm Limited"
62+
SPDX-License-Identifier = "MIT"
63+
64+
[[annotations]]
65+
path = ["examples/gemm_tuner/README.md"]
66+
SPDX-FileCopyrightText = "2019-2021 Arm Limited"
67+
SPDX-License-Identifier = "MIT"
68+
69+
[[annotations]]
70+
path = ["python/scripts/report-model-ops/README.md"]
71+
SPDX-FileCopyrightText = "2021 Arm Limited"
72+
SPDX-License-Identifier = "MIT"
73+
74+
[[annotations]]
75+
path = ["docs/contributor_guide/non_inclusive_language_examples.dox"]
76+
SPDX-FileCopyrightText = "2022 Arm Limited"
77+
SPDX-License-Identifier = "MIT"

SConscript

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ import codecs
3333
import platform
3434
import SCons
3535

36-
VERSION = "v24.11.1"
37-
LIBRARY_VERSION_MAJOR = 44
36+
VERSION = "v24.12"
37+
LIBRARY_VERSION_MAJOR = 45
3838
LIBRARY_VERSION_MINOR = 0
3939
LIBRARY_VERSION_PATCH = 0
4040
SONAME_VERSION = str(LIBRARY_VERSION_MAJOR) + "." + str(LIBRARY_VERSION_MINOR) + "." + str(LIBRARY_VERSION_PATCH)

arm_compute/runtime/Scheduler.h

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2017-2019, 2023 Arm Limited.
2+
* Copyright (c) 2017-2019, 2023-2024 Arm Limited.
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -74,8 +74,12 @@ class Scheduler
7474
static bool is_available(Type t);
7575

7676
private:
77-
static Type _scheduler_type;
78-
static std::shared_ptr<IScheduler> _custom_scheduler;
77+
static Type _scheduler_type;
78+
#ifndef ARM_COMPUTE_THREAD_LOCAL_SCHEDULER
79+
static std::shared_ptr<IScheduler> _custom_scheduler;
80+
#else // ARM_COMPUTE_THREAD_LOCAL_SCHEDULER
81+
static std::shared_ptr<IScheduler> thread_local _custom_scheduler;
82+
#endif // ARM_COMPUTE_THREAD_LOCAL_SCHEDULER
7983
static std::map<Type, std::unique_ptr<IScheduler>> _schedulers;
8084

8185
Scheduler();

cmake/Options.cmake

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ option(ENABLE_NCHW_KERNELS "" ON)
6565
option(ARM_COMPUTE_GRAPH_ENABLED "" ON)
6666
option(ARM_COMPUTE_ENABLE_SVEF32MM "" ON)
6767
option(ARM_COMPUTE_ENABLE_FIXED_FORMAT_KERNELS "" ON)
68+
option(ARM_COMPUTE_THREAD_LOCAL_SCHEDULER "" OFF)
6869
option(ENABLE_FP16_KERNELS "" OFF)
6970
option(ARM_COMPUTE_ENABLE_FP16 "" OFF)
7071

@@ -116,4 +117,7 @@ endif()
116117
if(ARM_COMPUTE_ENABLE_FIXED_FORMAT_KERNELS)
117118
add_definitions(-DARM_COMPUTE_ENABLE_FIXED_FORMAT_KERNELS)
118119
endif()
120+
if(ARM_COMPUTE_THREAD_LOCAL_SCHEDULER)
121+
add_definitions(-DARM_COMPUTE_THREAD_LOCAL_SCHEDULER)
122+
endif()
119123
add_definitions(-D_GLIBCXX_USE_NANOSLEEP)

0 commit comments

Comments
 (0)