aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--applications/message_handler_openamp/main.cpp4
-rw-r--r--applications/message_handler_openamp/message_handler.cpp40
-rw-r--r--applications/message_handler_openamp/message_handler.hpp6
3 files changed, 6 insertions, 44 deletions
diff --git a/applications/message_handler_openamp/main.cpp b/applications/message_handler_openamp/main.cpp
index 62bdc97..c120610 100644
--- a/applications/message_handler_openamp/main.cpp
+++ b/applications/message_handler_openamp/main.cpp
@@ -179,14 +179,14 @@ int main() {
auto messageHandler = std::make_shared<MessageHandler>(*rproc, "ethos-u-0.0");
printf("TFLM arena. pa=%" PRIx32 ", da=%" PRIx32 ", len=%" PRIx32 "\n",
- resourceTable.carveout.da,
resourceTable.carveout.pa,
+ resourceTable.carveout.da,
resourceTable.carveout.len);
std::array<std::shared_ptr<InferenceRunner>, NUM_PARALLEL_TASKS> inferenceRunner;
for (size_t i = 0; i < NUM_PARALLEL_TASKS; i++) {
- auto tensorArena = static_cast<uint8_t *>(messageHandler->physicalToVirtual(resourceTable.carveout.pa));
+ auto tensorArena = reinterpret_cast<uint8_t *>(resourceTable.carveout.da);
inferenceRunner[i] = std::make_shared<InferenceRunner>(&tensorArena[arenaSize * i],
arenaSize,
diff --git a/applications/message_handler_openamp/message_handler.cpp b/applications/message_handler_openamp/message_handler.cpp
index 4bd611d..9694f39 100644
--- a/applications/message_handler_openamp/message_handler.cpp
+++ b/applications/message_handler_openamp/message_handler.cpp
@@ -1,6 +1,5 @@
/*
* SPDX-FileCopyrightText: Copyright 2022-2023 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
@@ -308,7 +307,7 @@ void MessageHandler::sendNetworkInfoRsp(const uint32_t src,
rsp.ifm_count = 0;
rsp.ofm_count = 0;
- bool failed = networkToVirtual(network);
+ bool failed = getNetwork(network);
if (!failed) {
InferenceProcess::InferenceParser parser;
@@ -333,15 +332,7 @@ void MessageHandler::forwardInferenceReq(const uint32_t src,
req = inference;
- for (uint32_t i = 0; i < req.ifm_count; i++) {
- bufferToVirtual(req.ifm[i]);
- }
-
- for (uint32_t i = 0; i < req.ofm_count; i++) {
- bufferToVirtual(req.ofm[i]);
- }
-
- networkToVirtual(req.network);
+ getNetwork(req.network);
inferenceQueue.send(message);
}
@@ -368,35 +359,10 @@ void MessageHandler::sendCancelInferenceRsp(const uint32_t src,
responseQueue.send(message);
}
-bool MessageHandler::getNetwork(const EthosU::ethosu_core_network_buffer &buffer, void *&data, size_t &size) {
+bool MessageHandler::getNetwork(EthosU::ethosu_core_network_buffer &buffer) {
switch (buffer.type) {
case EthosU::ETHOSU_CORE_NETWORK_BUFFER:
- data = physicalToVirtual(buffer.buffer.ptr);
- size = buffer.buffer.size;
return false;
- case EthosU::ETHOSU_CORE_NETWORK_INDEX:
- return getIndexedNetwork(buffer.index, data, size);
- default:
- LOG_WARN("Unsupported network model type. type=%" PRIu32, buffer.type);
- return true;
- }
-}
-
-bool MessageHandler::bufferToVirtual(EthosU::ethosu_core_buffer &buffer) {
- void *ptr = physicalToVirtual(buffer.ptr);
- if (ptr == nullptr) {
- return true;
- }
-
- buffer.ptr = reinterpret_cast<uint32_t>(ptr);
-
- return false;
-}
-
-bool MessageHandler::networkToVirtual(EthosU::ethosu_core_network_buffer &buffer) {
- switch (buffer.type) {
- case EthosU::ETHOSU_CORE_NETWORK_BUFFER:
- return bufferToVirtual(buffer.buffer);
case EthosU::ETHOSU_CORE_NETWORK_INDEX: {
void *ptr;
size_t size;
diff --git a/applications/message_handler_openamp/message_handler.hpp b/applications/message_handler_openamp/message_handler.hpp
index 779b05f..86b7c4d 100644
--- a/applications/message_handler_openamp/message_handler.hpp
+++ b/applications/message_handler_openamp/message_handler.hpp
@@ -1,6 +1,5 @@
/*
* SPDX-FileCopyrightText: Copyright 2022-2023 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
@@ -88,15 +87,12 @@ protected:
void sendCancelInferenceRsp(const uint32_t src, const uint64_t msgId, const EthosU::ethosu_core_status status);
EthosU::ethosu_core_msg_capabilities_rsp getCapabilities() const;
- bool getNetwork(const EthosU::ethosu_core_network_buffer &buffer, void *&data, size_t &size);
+ bool getNetwork(EthosU::ethosu_core_network_buffer &buffer);
// Tasks returning response messages
static void responseTask(void *param);
private:
- bool bufferToVirtual(EthosU::ethosu_core_buffer &buffer);
- bool networkToVirtual(EthosU::ethosu_core_network_buffer &buffer);
-
InferenceQueue inferenceQueue;
ResponseQueue responseQueue;
EthosU::ethosu_core_msg_capabilities_rsp capabilities;