aboutsummaryrefslogtreecommitdiff
path: root/src/backends/reference
diff options
context:
space:
mode:
authorFerran Balaguer <ferran.balaguer@arm.com>2019-08-21 13:28:38 +0100
committerFerran Balaguer <ferran.balaguer@arm.com>2019-08-26 12:02:28 +0100
commitdcaa6109c95034aa3b945acd50a2882e40f13370 (patch)
treed8bf0c12ee153bec9d58097a01418df65a276935 /src/backends/reference
parent1a0f691a24b1514afe4d3ea6e1322357083af526 (diff)
downloadarmnn-dcaa6109c95034aa3b945acd50a2882e40f13370.tar.gz
IVGCVSW-3175 Add Regression Tests for Zero Copy
Signed-off-by: Ferran Balaguer <ferran.balaguer@arm.com> Change-Id: I6f16ea0dca359283a3b187e2f046f82a7dc2ff7c
Diffstat (limited to 'src/backends/reference')
-rw-r--r--src/backends/reference/test/RefEndToEndTests.cpp86
1 files changed, 14 insertions, 72 deletions
diff --git a/src/backends/reference/test/RefEndToEndTests.cpp b/src/backends/reference/test/RefEndToEndTests.cpp
index 31e9b339ec..ee42c9e979 100644
--- a/src/backends/reference/test/RefEndToEndTests.cpp
+++ b/src/backends/reference/test/RefEndToEndTests.cpp
@@ -322,78 +322,6 @@ BOOST_AUTO_TEST_CASE(TrivialMin)
BOOST_TEST(outputData[3] == 2);
}
-BOOST_AUTO_TEST_CASE(RefNoCopyWorkloads)
-{
- using namespace armnn;
-
- // Create runtime in which test will run
- IRuntime::CreationOptions options;
- IRuntimePtr runtime(armnn::IRuntime::Create(options));
-
- // build up the structure of the network
- INetworkPtr net(INetwork::Create());
-
- IConnectableLayer* input = net->AddInputLayer(0);
-
- NormalizationDescriptor descriptor;
- IConnectableLayer* norm = net->AddNormalizationLayer(descriptor);
-
- IConnectableLayer* output = net->AddOutputLayer(0);
-
- input->GetOutputSlot(0).Connect(norm->GetInputSlot(0));
- norm->GetOutputSlot(0).Connect(output->GetInputSlot(0));
-
- input->GetOutputSlot(0).SetTensorInfo(TensorInfo({ 1, 1, 4, 1 }, DataType::Float32));
- norm->GetOutputSlot(0).SetTensorInfo(TensorInfo({ 1, 1, 4, 1 }, DataType::Float32));
-
- // Optimize the network
- IOptimizedNetworkPtr optNet = Optimize(*net, defaultBackends, runtime->GetDeviceSpec());
-
- // Loads it into the runtime.
- NetworkId netId;
- runtime->LoadNetwork(netId, std::move(optNet));
-
- // Creates structures for input & output
- std::vector<float> inputData
- {
- 1.0f, 2.0f, 3.0f, 4.0f
- };
-
- std::vector<float> outputData(4);
-
- InputTensors inputTensors
- {
- {0,armnn::ConstTensor(runtime->GetInputTensorInfo(netId, 0), inputData.data())},
- };
- OutputTensors outputTensors
- {
- {0,armnn::Tensor(runtime->GetOutputTensorInfo(netId, 0), outputData.data())}
- };
-
- // The result of the inference is not important, just the fact that there
- // should not be CopyMemGeneric workloads.
- runtime->GetProfiler(netId)->EnableProfiling(true);
-
- // Do the inference
- runtime->EnqueueWorkload(netId, inputTensors, outputTensors);
-
- // Retrieve the Profiler.Print() output to get the workload execution
- ProfilerManager& profilerManager = armnn::ProfilerManager::GetInstance();
- std::stringstream ss;
- profilerManager.GetProfiler()->Print(ss);;
- std::string dump = ss.str();
-
- // Contains RefNormalizationWorkload
- std::size_t found = dump.find("RefNormalizationWorkload");
- BOOST_TEST(found != std::string::npos);
- // Contains SyncMemGeneric
- found = dump.find("SyncMemGeneric");
- BOOST_TEST(found != std::string::npos);
- // No contains CopyMemGeneric
- found = dump.find("CopyMemGeneric");
- BOOST_TEST(found == std::string::npos);
-}
-
BOOST_AUTO_TEST_CASE(RefEqualSimpleEndToEndTest)
{
const std::vector<uint8_t> expectedOutput({ 1, 1, 1, 1, 0, 0, 0, 0,
@@ -1023,4 +951,18 @@ BOOST_AUTO_TEST_CASE(RefResizeNearestNeighborEndToEndInt16NhwcTest)
ResizeNearestNeighborEndToEnd<armnn::DataType::QuantisedSymm16>(defaultBackends, armnn::DataLayout::NHWC);
}
+#if !defined(__ANDROID__)
+// Only run these tests on non Android platforms
+BOOST_AUTO_TEST_CASE(RefImportNonAlignedPointerTest)
+{
+ ImportNonAlignedPointerTest(defaultBackends);
+}
+
+BOOST_AUTO_TEST_CASE(RefImportAlignedPointerTest)
+{
+ ImportAlignedPointerTest(defaultBackends);
+}
+
+#endif
+
BOOST_AUTO_TEST_SUITE_END() \ No newline at end of file