In my ARMNN network initialization routine I am creating an ARMNN runtime like this:
armnn::IRuntimePtr runtime = armnn::IRuntime::Create(armnn::IRuntime::CreationOptions());
armnn::IOptimizedNetworkPtr optNet = Optimize(*network, backends, runtime->GetDeviceSpec(), armnn::OptimizerOptions());
runtime->LoadNetwork(networkId, std::move(optNet), errorMessage);
I need to run the network in another C++ function. How can I pass the runtime pointer to that other function? Or, is there a way for the other function to retrieve the pointer to the runtime?
I'm a little confused, but it does sound like you're fighting the concept of unique pointers - you definitely can't save them for later.
There is armnn::IRuntime::CreateRaw to give you a Runtime* - would that work for you?
That's exactly what I was looking for. Thank you, Ben, for your very prompt assistance!