10 #include <arm_compute/runtime/CL/CLScheduler.h>
11 #include <arm_compute/core/CL/OpenCL.h>
27 void Start()
override;
37 const char*
GetName()
const override {
return "OpenClKernelTimer"; }
44 using CLScheduler = arm_compute::CLScheduler;
45 using CLSymbols = arm_compute::CLSymbols;
46 using ClEvent = cl::Event;
47 using ClEnqueueFunc = decltype(CLSymbols::clEnqueueNDRangeKernel_ptr);
52 KernelInfo(
const std::string& name, cl_event& event) : m_Name(name), m_Event(event) {}
58 std::list<KernelInfo> m_Kernels;
59 ClEnqueueFunc m_OriginalEnqueueFunction;
OpenClTimer instrument that times all OpenCl kernels executed between calls to Start() and Stop().
void Start() override
Start the OpenCl timer.
void Stop() override
Stop the OpenCl timer.
const char * GetName() const override
Get the name of the timer.
std::vector< Measurement > GetMeasurements() const override
Get the recorded measurements.
bool HasKernelMeasurements() const override
Return true if this Instrument has kernels for recording measurements.
Copyright (c) 2021 ARM Limited and Contributors.