33 struct CLPoolingLayer::Impl
35 const ICLTensor *
src{
nullptr };
36 ICLTensor *
dst{
nullptr };
37 ICLTensor *indices{
nullptr };
38 std::unique_ptr<opencl::ClPooling> op{
nullptr };
42 : _impl(
std::make_unique<Impl>())
56 _impl->indices = indices;
58 _impl->op = std::make_unique<opencl::ClPooling>();
59 _impl->op->configure(compile_context, input->
info(), output->
info(), pool_info, (indices) ? indices->
info() :
nullptr);
static Status validate(const ITensorInfo *src, const ITensorInfo *dst, const PoolingLayerInfo &info, const ITensorInfo *indices=nullptr)
Static function to check if given info will lead to a valid configuration of ClPooling.
void configure(ICLTensor *input, ICLTensor *output, const PoolingLayerInfo &pool_info, ICLTensor *indices=nullptr)
Set the input and output tensors.
CLPoolingLayer()
Default Constructor.
static CLKernelLibrary & get()
Access the KernelLibrary singleton.
Store the tensor's metadata.
SimpleTensor< float > src
Copyright (c) 2017-2021 Arm Limited.
Pooling Layer Information struct.
virtual ITensorInfo * info() const =0
Interface to be implemented by the child class to return the tensor's metadata.
static Status validate(const ITensorInfo *input, const ITensorInfo *output, const PoolingLayerInfo &pool_info, const ITensorInfo *indices=nullptr)
Static function to check if given info will lead to a valid configuration of CLPoolingLayer.
void run() override
Run the kernels contained in the function.
Interface for OpenCL tensor.
Manages all the OpenCL kernels compilation and caching, provides accessors for the OpenCL Context...
~CLPoolingLayer()
Default Destructor.
void add_tensor(int id, ITensor *tensor)
Add tensor to the pack.