6 #if (defined(__aarch64__)) || (defined(__x86_64__)) // disable test failing on FireFly/Armv7 22 #include <arm_compute/runtime/CL/CLScheduler.h> 24 #include <doctest/doctest.h> 28 using namespace armnn;
35 OpenClFixture() : m_ClContextControl(nullptr, nullptr, true) {}
45 auto memoryManager = ClWorkloadFactoryHelper::GetMemoryManager();
46 ClWorkloadFactory workloadFactory = ClWorkloadFactoryHelper::GetFactory(memoryManager);
48 const unsigned int width = 2;
49 const unsigned int height = 3;
50 const unsigned int channels = 2;
51 const unsigned int num = 1;
57 std::vector<float> input =
69 std::vector<float> mean = { 3.f, -2.f };
70 std::vector<float> variance = { 4.f, 9.f };
71 std::vector<float> beta = { 3.f, 2.f };
72 std::vector<float> gamma = { 2.f, 1.f };
75 std::unique_ptr<ITensorHandle> inputHandle = workloadFactory.
CreateTensorHandle(inputTensorInfo);
76 std::unique_ptr<ITensorHandle> outputHandle = workloadFactory.
CreateTensorHandle(outputTensorInfo);
91 AddInputToWorkload(data, info, inputTensorInfo, inputHandle.get());
92 AddOutputToWorkload(data, info, outputTensorInfo, outputHandle.get());
93 data.m_Mean = &meanTensor;
94 data.m_Variance = &varianceTensor;
95 data.m_Beta = &betaTensor;
96 data.m_Gamma = &gammaTensor;
97 data.m_Parameters.m_Eps = 0.0f;
104 inputHandle->Allocate();
105 outputHandle->Allocate();
111 CHECK_EQ(openClTimer.GetName(),
"OpenClKernelTimer");
122 CHECK_EQ(openClTimer.GetMeasurements().size(), 1);
124 CHECK_EQ(openClTimer.GetMeasurements().front().m_Name,
125 "OpenClKernelTimer/0: batchnormalization_layer_nchw GWS[1,3,2]");
127 CHECK(openClTimer.GetMeasurements().front().m_Value > 0);
131 #endif //aarch64 or x86_64
void Start() override
Start the OpenCl timer.
#define ARMNN_NO_DEPRECATE_WARN_BEGIN
std::unique_ptr< ITensorHandle > CreateTensorHandle(const TensorInfo &tensorInfo, const bool IsMemoryManaged=true) const override
Copyright (c) 2021 ARM Limited and Contributors.
void AllocateAndCopyDataToITensorHandle(armnn::ITensorHandle *tensorHandle, const void *memory)
TEST_CASE_FIXTURE(ClContextControlFixture, "CopyBetweenNeonAndGpu")
std::unique_ptr< IWorkload > CreateWorkload(LayerType type, const QueueDescriptor &descriptor, const WorkloadInfo &info) const override
#define ARMNN_NO_DEPRECATE_WARN_END
OpenClTimer instrument that times all OpenCl kernels executed between calls to Start() and Stop()...
void CopyDataToITensorHandle(armnn::ITensorHandle *tensorHandle, const void *memory)
Contains information about TensorInfos of a layer.