6 #if (defined(__aarch64__)) || (defined(__x86_64__)) // disable test failing on FireFly/Armv7 22 #include <arm_compute/runtime/CL/CLScheduler.h> 24 #include <boost/format.hpp> 25 #include <boost/test/unit_test.hpp> 29 using namespace armnn;
36 OpenClFixture() : m_ClContextControl(nullptr,
true) {}
42 BOOST_FIXTURE_TEST_SUITE(OpenClTimerBatchNorm, OpenClFixture)
47 auto memoryManager = ClWorkloadFactoryHelper::GetMemoryManager();
48 ClWorkloadFactory workloadFactory = ClWorkloadFactoryHelper::GetFactory(memoryManager);
50 const unsigned int width = 2;
51 const unsigned int height = 3;
52 const unsigned int channels = 2;
53 const unsigned int num = 1;
59 auto input = MakeTensor<float, 4>(inputTensorInfo,
71 auto mean = MakeTensor<float, 1>(tensorInfo, { 3.f, -2.f });
72 auto variance = MakeTensor<float, 1>(tensorInfo, { 4.f, 9.f });
73 auto beta = MakeTensor<float, 1>(tensorInfo, { 3.f, 2.f });
74 auto gamma = MakeTensor<float, 1>(tensorInfo, { 2.f, 1.f });
76 std::unique_ptr<ITensorHandle> inputHandle = workloadFactory.
CreateTensorHandle(inputTensorInfo);
77 std::unique_ptr<ITensorHandle> outputHandle = workloadFactory.
CreateTensorHandle(outputTensorInfo);
91 AddInputToWorkload(data, info, inputTensorInfo, inputHandle.get());
92 AddOutputToWorkload(data, info, outputTensorInfo, outputHandle.get());
104 inputHandle->Allocate();
105 outputHandle->Allocate();
111 BOOST_CHECK_EQUAL(openClTimer.GetName(),
"OpenClKernelTimer");
122 BOOST_CHECK_EQUAL(openClTimer.GetMeasurements().size(), 1);
124 BOOST_CHECK_EQUAL(openClTimer.GetMeasurements().front().m_Name,
125 "OpenClKernelTimer/0: batchnormalization_layer_nchw GWS[1,3,2]");
127 BOOST_CHECK(openClTimer.GetMeasurements().front().m_Value > 0);
133 #endif //aarch64 or x86_64
const ConstCpuTensorHandle * m_Gamma
const ConstCpuTensorHandle * m_Beta
void Start() override
Start the OpenCl timer.
const ConstCpuTensorHandle * m_Mean
float m_Eps
Value to add to the variance. Used to avoid dividing by zero.
std::unique_ptr< ITensorHandle > CreateTensorHandle(const TensorInfo &tensorInfo, const bool IsMemoryManaged=true) const override
const ConstCpuTensorHandle * m_Variance
Copyright (c) 2020 ARM Limited.
DataLayout::NCHW DataLayout::NCHW DataLayout::NHWC DataLayout::NHWC true
LayerDescriptor m_Parameters
BOOST_CHECK(profilingService.GetCurrentState()==ProfilingState::WaitingForAck)
void AllocateAndCopyDataToITensorHandle(armnn::ITensorHandle *tensorHandle, const void *memory)
BOOST_AUTO_TEST_CASE(CheckConvolution2dLayer)
OpenClTimer instrument that times all OpenCl kernels executed between calls to Start() and Stop()...
BOOST_AUTO_TEST_SUITE_END()
Contains information about inputs and outputs to a layer.
std::unique_ptr< IWorkload > CreateBatchNormalization(const BatchNormalizationQueueDescriptor &descriptor, const WorkloadInfo &info) const override
void CopyDataToITensorHandle(armnn::ITensorHandle *tensorHandle, const void *memory)