diff options
author | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2022-01-28 23:26:07 +0000 |
---|---|---|
committer | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2022-01-28 23:26:07 +0000 |
commit | 8509422e1e7d629f88d6a5e4e4bded8a682f435b (patch) | |
tree | 2573a082b1d7ad1ced584f71a7d259e717ca8df1 /ArmnnPreparedModel.cpp | |
parent | 7c56149ce8682fbb0e9d3c5a818921ff32b0af54 (diff) | |
download | android-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.cpp | 16 |
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) { |