ComputationKernel Class Reference

HiCR: HiCR::backend::opencl::ComputationKernel Class Reference
HiCR
HiCR::backend::opencl::ComputationKernel Class Referencefinal

#include <computationKernel.hpp>

Inheritance diagram for HiCR::backend::opencl::ComputationKernel:
HiCR::backend::opencl::Kernel

Public Member Functions

 ComputationKernel (const std::shared_ptr< cl::Kernel > &kernel, const std::vector< std::shared_ptr< HiCR::LocalMemorySlot > > &args, const cl::NDRange offset, const cl::NDRange global, const cl::NDRange local)
 
 ~ComputationKernel ()=default
 
__INLINE__ void start (const cl::CommandQueue *queue) override
 
- Public Member Functions inherited from HiCR::backend::opencl::Kernel
__INLINE__ Kernel ()=default
 
__INLINE__ ~Kernel ()=default
 

Detailed Description

This class represents a replicable Computation Kernel for the OpenCL backend. A Computation Kernel enables the kernel execution in the HiCR runtime, and in particular enables the concatenation of kernel execution and memcpy operations in a common queue of operations.

Constructor & Destructor Documentation

◆ ComputationKernel()

HiCR::backend::opencl::ComputationKernel::ComputationKernel ( const std::shared_ptr< cl::Kernel > &  kernel,
const std::vector< std::shared_ptr< HiCR::LocalMemorySlot > > &  args,
const cl::NDRange  offset,
const cl::NDRange  global,
const cl::NDRange  local 
)
inline

Constructor for the Computation Kernel unit class of the OpenCL backend. Set the kernel arguments.

Parameters
kernelOpenCL kernel
argskernel arguments
offsetoffset range
globalglobal range
locallocal range

◆ ~ComputationKernel()

HiCR::backend::opencl::ComputationKernel::~ComputationKernel ( )
default

Default destructor

Member Function Documentation

◆ start()

__INLINE__ void HiCR::backend::opencl::ComputationKernel::start ( const cl::CommandQueue *  queue)
inlineoverridevirtual

Start the kernel using the given OpenCL queue

Parameters
queuethe OpenCL queue on which the kernel is to be executed

Implements HiCR::backend::opencl::Kernel.


The documentation for this class was generated from the following file: