39 : _memory_group(
std::move(memory_manager)), _conv_kernel(), _activationlayer_function(), _accumulator(), _is_activationlayer_enabled(false), _dim_split(
Window::DimZ)
48 _conv_kernel = std::make_unique<kernels::CpuDirectConv3dKernel>();
51 if(_accumulator.
buffer() !=
nullptr)
58 _conv_kernel->configure(src0, src1, src2, dst, conv_info);
62 if(_is_activationlayer_enabled)
64 _activationlayer_function = std::make_unique<CpuActivation>();
65 _activationlayer_function->configure(dst, dst, conv_info.
act_info);
92 if(_is_activationlayer_enabled)
97 _activationlayer_function->run(pack);
CpuDirectConv3d(std::shared_ptr< IMemoryManager > memory_manager=nullptr)
Descriptor used by the 3d Convolution function.
void configure(ITensorInfo *src0, ITensorInfo *src1, const ITensorInfo *src2, ITensorInfo *dst, const Conv3dInfo conv_info)
Set the input, weights, biases and output tensor info.
bool enabled() const
Check if initialised.
void run(ITensorPack &tensors) override
Run the kernels contained in the function.
#define ARM_COMPUTE_RETURN_ON_ERROR(status)
Checks if a status contains an error and returns it.
virtual void schedule_op(ICPPKernel *kernel, const Hints &hints, const Window &window, ITensorPack &tensors)=0
Runs the kernel in the same thread as the caller synchronously.
static Status validate(const ITensorInfo *src0, const ITensorInfo *src1, const ITensorInfo *src2, const ITensorInfo *dst, const Conv3dInfo &conv_info)
Static function to check if given info will lead to a valid configuration.
#define ARM_COMPUTE_ERROR_ON(cond)
If the condition is true then an error message is printed and an exception thrown.
Store the tensor's metadata.
Copyright (c) 2017-2022 Arm Limited.
TensorAllocator * allocator()
Return a pointer to the tensor's allocator.
#define ARM_COMPUTE_RETURN_ERROR_ON_NULLPTR(...)
void free() override
Free allocated CPU memory.
Num samples, depth, height, width, channels.
static constexpr size_t DimY
Alias for dimension 1 also known as Y dimension.
ITensor * get_tensor(int id)
Get tensor of a given id from the pac.
Memory group resources scope handling class.
static Status validate(const ITensorInfo *input, const ITensorInfo *output, const ActivationLayerInfo &act_info)
Static function to check if given info will lead to a valid configuration.
uint8_t * buffer() const override
Interface to be implemented by the child class to return a pointer to CPU memory. ...
#define ARM_COMPUTE_LOG_PARAMS(...)
ActivationLayerInfo act_info
Describe a multidimensional execution window.
static Status validate(const ITensorInfo *src0, const ITensorInfo *src1, const ITensorInfo *src2, const ITensorInfo *dst, const Conv3dInfo conv_info)
Static function to check if given info will lead to a valid configuration.
void add_tensor(int id, ITensor *tensor)
Add tensor to the pack.
virtual DataLayout data_layout() const =0
Get the data layout of the tensor.
static IScheduler & get()
Access the scheduler singleton.