{
namespace ARMNNImpl
{
+ armnn::IRuntime *InferenceARMNN::mRuntime(nullptr);
+
InferenceARMNN::InferenceARMNN(void) :
- mRuntime(nullptr, &armnn::IRuntime::Destroy),
mNetwork(armnn::INetworkPtr(nullptr, nullptr)),
mNetworkIdentifier(-1)
{
int ret = INFERENCE_ENGINE_ERROR_NONE;
armnn::IRuntime::CreationOptions creation_options;
- mRuntime = armnn::IRuntime::Create(creation_options);
- LOGI("Created ARMNN runtime");
+ if (mRuntime == nullptr) {
+ mRuntime = armnn::IRuntime::CreateRaw(creation_options);
+ LOGI("Created ARMNN runtime");
+ } else {
+ LOGI("Shared ARMNN runtime");
+ }
ret = CreateNetwork(model_paths, model_format);
if (ret != INFERENCE_ENGINE_ERROR_NONE)
std::vector<armnn::BackendId> mAccelType;
- armnn::IRuntimePtr mRuntime;
+ static armnn::IRuntime *mRuntime;
armnn::INetworkPtr mNetwork;
armnn::NetworkId mNetworkIdentifier;