option(TF_LITE_GENERATED_PATH "Tensorflow lite generated C++ schema location" OFF)
option(FLATBUFFERS_ROOT "Location where the flatbuffers 'include' and 'lib' folders to be found" Off)
option(DYNAMIC_BACKEND_PATHS "Colon seperated list of paths where to load the dynamic backends from" "")
+option(SAMPLE_DYNAMIC_BACKEND "Include the sample dynamic backend and its tests in the build" OFF)
option(BUILD_GATORD_MOCK "Build the Gatord simulator for external profiling testing." ON)
option(BUILD_TIMELINE_DECODER "Build the Timeline Decoder for external profiling." ON)
option(SHARED_BOOST "Use dynamic linking for boost libraries" OFF)
In some error scenarios of calls to armnn::Optimize a null pointer may be returned. This contravenes the function documentation however, it can happen. Users are advised to check the value returned from the function as a precaution.
If you encounter this problem and are able to isolate it consider contributing a solution.
+
+Adding or removing -Dxxx options when building ArmNN does not always work.
+---------------------------------------------------------
+
+ArmNN uses CMake for build configuration. CMake uses a cumulative cache of user options. That is, setting a value once on a cmake command line will be persisted until either you explicitly change the value or delete the cache. To delete the cache in ArmNN you must delete the build directory.
void CreateSampleDynamicBackendTestImpl()
{
using namespace armnn;
-
// Using the path override in CreationOptions to load the reference dynamic backend
IRuntime::CreationOptions creationOptions;
- IRuntimePtr runtime = IRuntime::Create(creationOptions);
+ // If m_DynamicBackendsPath is an empty string then we know this test will fail.
+ if(creationOptions.m_DynamicBackendsPath.empty())
+ {
+ BOOST_FAIL("No dynamic backends paths have been set. Ensure DYNAMIC_BACKEND_PATHS is set at compile time.");
+ }
+ IRuntimePtr runtime = IRuntime::Create(creationOptions);
const BackendRegistry& backendRegistry = BackendRegistryInstance();
BOOST_TEST(backendRegistry.Size() >= 1);
using namespace boost::filesystem;
// Create runtime in which test will run
IRuntime::CreationOptions options;
+ // If m_DynamicBackendsPath is an empty string then we know this test will fail.
+ if(options.m_DynamicBackendsPath.empty())
+ {
+ BOOST_FAIL("No dynamic backends paths have been set. Ensure DYNAMIC_BACKEND_PATHS is set at compile time.");
+ }
+
IRuntimePtr runtime(IRuntime::Create(options));
// Builds up the structure of the network.