aboutsummaryrefslogtreecommitdiff
path: root/ArmnnPreparedModel.cpp
diff options
context:
space:
mode:
authorNarumol Prangnawarat <narumol.prangnawarat@arm.com>2022-01-28 23:26:07 +0000
committerNarumol Prangnawarat <narumol.prangnawarat@arm.com>2022-01-28 23:26:07 +0000
commit8509422e1e7d629f88d6a5e4e4bded8a682f435b (patch)
tree2573a082b1d7ad1ced584f71a7d259e717ca8df1 /ArmnnPreparedModel.cpp
parent7c56149ce8682fbb0e9d3c5a818921ff32b0af54 (diff)
downloadandroid-nn-driver-8509422e1e7d629f88d6a5e4e4bded8a682f435b.tar.gz
IVGCVSW-6700 Enable import aligned host memory in android-nn-driver
!armnn:7025 Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Iaa6112fb52d0f2942e6c52f90d96a8dc96000518
Diffstat (limited to 'ArmnnPreparedModel.cpp')
-rw-r--r--ArmnnPreparedModel.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/ArmnnPreparedModel.cpp b/ArmnnPreparedModel.cpp
index 563abd44..ea48c0cc 100644
--- a/ArmnnPreparedModel.cpp
+++ b/ArmnnPreparedModel.cpp
@@ -8,6 +8,8 @@
#include "ArmnnPreparedModel.hpp"
#include "Utils.hpp"
+#include <armnn/Types.hpp>
+
#include <log/log.h>
#include <OperationsUtils.h>
#include <ValidateHal.h>
@@ -305,7 +307,12 @@ void ArmnnPreparedModel<HalVersion>::ExecuteGraph(
else
{
ALOGW("ArmnnPreparedModel::ExecuteGraph m_AsyncModelExecutionEnabled false");
- status = m_Runtime->EnqueueWorkload(m_NetworkId, inputTensors, outputTensors);
+ std::vector<armnn::ImportedInputId> importedInputIds =
+ m_Runtime->ImportInputs(m_NetworkId, inputTensors, armnn::MemorySource::Malloc);
+ std::vector<armnn::ImportedOutputId> importedOutputIds =
+ m_Runtime->ImportOutputs(m_NetworkId, outputTensors, armnn::MemorySource::Malloc);
+ status = m_Runtime->EnqueueWorkload(m_NetworkId, inputTensors, outputTensors,
+ importedInputIds, importedOutputIds);
}
if (status != armnn::Status::Success)
@@ -386,7 +393,12 @@ bool ArmnnPreparedModel<HalVersion>::ExecuteWithDummyInputs()
else
{
ALOGW("ArmnnPreparedModel::ExecuteGraph m_AsyncModelExecutionEnabled false");
- status = m_Runtime->EnqueueWorkload(m_NetworkId, inputTensors, outputTensors);
+ std::vector<armnn::ImportedInputId> importedInputIds =
+ m_Runtime->ImportInputs(m_NetworkId, inputTensors, armnn::MemorySource::Malloc);
+ std::vector<armnn::ImportedOutputId> importedOutputIds =
+ m_Runtime->ImportOutputs(m_NetworkId, outputTensors, armnn::MemorySource::Malloc);
+ status = m_Runtime->EnqueueWorkload(m_NetworkId, inputTensors, outputTensors,
+ importedInputIds, importedOutputIds);
}
if (status != armnn::Status::Success)
{