aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikael Olsson <mikael.olsson@arm.com>2024-03-21 14:07:54 +0100
committerMikael Olsson <mikael.olsson@arm.com>2024-03-21 14:43:50 +0100
commit10ecba81d7d5f2f969ac5112945e8f85517bd7fe (patch)
tree7b0d345f3253e389a79de3837b74c40d20978eba
parent21262ee2ec486d5a74cef3fc6733aa304fa75088 (diff)
downloadethos-u-core-platform-10ecba81d7d5f2f969ac5112945e8f85517bd7fe.tar.gz
Change tensor arena size to be a power of two
The size of the memory used for the message handler's tensor arena will always be rounded up to the next power of two when the Linux kernel allocates it. Therefore, to align the tensor arena size with how the memory is allocated and be able to use the full size allocated, the tensor arena size must now be a power of two. Change-Id: Ib67e77d1ffeb233ad12762a56ddbc20d26c71052 Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
-rw-r--r--applications/message_handler_openamp/CMakeLists.txt2
-rw-r--r--applications/message_handler_openamp/main.cpp5
2 files changed, 4 insertions, 3 deletions
diff --git a/applications/message_handler_openamp/CMakeLists.txt b/applications/message_handler_openamp/CMakeLists.txt
index f60e376..3a36c8d 100644
--- a/applications/message_handler_openamp/CMakeLists.txt
+++ b/applications/message_handler_openamp/CMakeLists.txt
@@ -29,7 +29,7 @@ set(MESSAGE_HANDLER_MODEL_1 "" CACHE STRING "Path to built in model 1")
set(MESSAGE_HANDLER_MODEL_2 "" CACHE STRING "Path to built in model 2")
set(MESSAGE_HANDLER_MODEL_3 "" CACHE STRING "Path to built in model 3")
-set(MESSAGE_HANDLER_ARENA_SIZE 2000000 CACHE STRING "Total size of all message handler tensor arenas")
+set(MESSAGE_HANDLER_ARENA_SIZE 0x200000 CACHE STRING "Total size of all message handler tensor arenas in bytes (Must be a power of two)")
#############################################################################
# TFLM arena
diff --git a/applications/message_handler_openamp/main.cpp b/applications/message_handler_openamp/main.cpp
index c120610..480156e 100644
--- a/applications/message_handler_openamp/main.cpp
+++ b/applications/message_handler_openamp/main.cpp
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: Copyright 2022-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
+ * SPDX-FileCopyrightText: Copyright 2022-2024 Arm Limited and/or its affiliates <open-source-office@arm.com>
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the License); you may
@@ -50,11 +50,12 @@ constexpr size_t NUM_PARALLEL_TASKS = 1;
#endif
#ifndef TENSOR_ARENA_SIZE
-#define TENSOR_ARENA_SIZE 2000000
+#define TENSOR_ARENA_SIZE 0x200000
#endif
// TensorArena static initialisation
constexpr size_t arenaSize = TENSOR_ARENA_SIZE;
+static_assert(arenaSize && ((arenaSize & (arenaSize - 1)) == 0), "TENSOR_ARENA_SIZE must be a power of two");
/*****************************************************************************
* Resource table