aboutsummaryrefslogtreecommitdiff
path: root/src/armnn
diff options
context:
space:
mode:
authorDerek Lamberti <derek.lamberti@arm.com>2019-11-20 10:51:57 +0000
committerDerek Lamberti <derek.lamberti@arm.com>2019-12-09 19:20:29 +0000
commit836b27bd73d62795e82d0ce666d728c94c216067 (patch)
treec5db467b321d367eab8aaa75842f3a520c62cd17 /src/armnn
parentfd2710651ada27fc82f28c07fb1e09effc3bda2d (diff)
downloadarmnn-836b27bd73d62795e82d0ce666d728c94c216067.tar.gz
IVGCVSW-4157 Pass custom options directly to backends
Change-Id: I98cfb913dbd00cb94bdb5dbe82753ca147f7f671 Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
Diffstat (limited to 'src/armnn')
-rw-r--r--src/armnn/test/RuntimeTests.cpp51
1 files changed, 50 insertions, 1 deletions
diff --git a/src/armnn/test/RuntimeTests.cpp b/src/armnn/test/RuntimeTests.cpp
index 4fd847a577..642f334575 100644
--- a/src/armnn/test/RuntimeTests.cpp
+++ b/src/armnn/test/RuntimeTests.cpp
@@ -288,6 +288,55 @@ BOOST_AUTO_TEST_CASE(IVGCVSW_1929_QuantizedSoftmaxIssue)
BOOST_TEST(!optNet);
}
+BOOST_AUTO_TEST_CASE(RuntimeBackendOptions)
+{
+ using namespace armnn;
+
+ IRuntime::CreationOptions creationOptions;
+ auto& backendOptions = creationOptions.m_BackendOptions;
+
+
+ // Define Options on explicit construction
+ BackendOptions options1("FakeBackend1",
+ {
+ {"Option1", 1.3f},
+ {"Option2", true}
+ });
+
+ // Add an option after construction
+ options1.AddOption({"Option3", "some_value"});
+
+ // Add the options to CreationOptions struct
+ backendOptions.push_back(options1);
+
+ // Add more Options via inplace explicit construction
+ backendOptions.emplace_back(
+ BackendOptions{"FakeBackend1",
+ {{"Option4", 42}}
+ });
+
+
+ // First group
+ BOOST_TEST(backendOptions[0].GetBackendId().Get() == "FakeBackend1");
+ BOOST_TEST(backendOptions[0].GetOption(0).GetName() == "Option1");
+ BOOST_TEST(backendOptions[0].GetOption(0).GetValue().IsFloat() == true);
+ BOOST_TEST(backendOptions[0].GetOption(0).GetValue().AsFloat() == 1.3f);
+
+ BOOST_TEST(backendOptions[0].GetOption(1).GetName() == "Option2");
+ BOOST_TEST(backendOptions[0].GetOption(1).GetValue().IsBool() == true);
+ BOOST_TEST(backendOptions[0].GetOption(1).GetValue().AsBool() == true);
+
+ BOOST_TEST(backendOptions[0].GetOption(2).GetName() == "Option3");
+ BOOST_TEST(backendOptions[0].GetOption(2).GetValue().IsString() == true);
+ BOOST_TEST(backendOptions[0].GetOption(2).GetValue().AsString() == "some_value");
+
+ // Second group
+ BOOST_TEST(backendOptions[1].GetBackendId().Get() == "FakeBackend1");
+ BOOST_TEST(backendOptions[1].GetOption(0).GetName() == "Option4");
+ BOOST_TEST(backendOptions[1].GetOption(0).GetValue().IsInt() == true);
+ BOOST_TEST(backendOptions[1].GetOption(0).GetValue().AsInt() == 42);
+}
+
BOOST_AUTO_TEST_CASE(ProfilingDisable)
{
using namespace armnn;
@@ -635,7 +684,7 @@ BOOST_AUTO_TEST_CASE(ProfilingEnableCpuRef)
LabelsAndEventClasses::TYPE_GUID,
readableData,
offset);
-
+
bufferManager.MarkRead(readableBuffer);
// Creates structures for input & output.