23 #include "../vart_device.hpp"
24 #include "../vart_plkernel_types.hpp"
56 virtual void process(
const std::vector<std::any>& args) = 0;
68 virtual int wait(
unsigned int timeout) = 0;
104 template <
typename PLKernelAnyInfo>
117 template <
typename PLKernelAnyInfo>
Abstract interface for PLKernel implementation used by PLKernel.
Definition: vart_plkernel_impl_base.hpp:36
void set_config(PLKernelAnyInfo &info)
set_config() - Sets the configuration for the kernel.
Definition: vart_plkernel_impl_base.hpp:105
virtual int wait(unsigned int timeout)=0
wait() - Waits for the kernel to complete processing.
virtual void process(const std::vector< std::any > &args)=0
process() - Set and process the given arguments on Kernel.
virtual void set_config_impl(const std::any &info)=0
set_config_impl() - Set configuration using a non-template virtual function.
PLKernelImplBase()=default
Default constructor.
virtual ~PLKernelImplBase()
Virtual destructor to ensure proper cleanup of derived implementations.
Definition: vart_plkernel_impl_base.hpp:42
void get_config(PLKernelAnyInfo &info)
get_config() - Gets the configuration of the kernel.
Definition: vart_plkernel_impl_base.hpp:118
virtual void get_config_impl(std::any &info)=0
get_config_impl() - Gets configuration using a non-template virtual function.
VART (Vitis AI Runtime) public API namespace.