40 class PLKernelImplBase;
62 const std::string& kernel_name,
63 std::string& json_data,
64 std::shared_ptr<Device> device);
72 PLKernel(std::shared_ptr<PLKernelImplBase> ptr);
90 template <
typename... Args>
93 std::vector<std::any> any_args = {std::forward<Args>(args)...};
94 pimpl->process(any_args);
110 int wait(
unsigned int timeout);
120 template <
typename PLKernelAnyInfo>
122 pimpl->set_config(info);
136 template <
typename PLKernelAnyInfo>
138 std::any any_info = info;
139 pimpl->get_config_impl(any_info);
140 info = std::any_cast<PLKernelAnyInfo>(any_info);
144 std::shared_ptr<PLKernelImplBase> pimpl;
PLKernel class for managing PL kernel execution.
Definition: vart_plkernel.hpp:47
void process(Args &&... args)
process() - Set and process the given arguments on Kernel.
Definition: vart_plkernel.hpp:91
void get_config(PLKernelAnyInfo &info)
get_config() - Gets the configuration of the kernel.
Definition: vart_plkernel.hpp:137
const std::shared_ptr< PLKernelImplBase > & get_pimpl_handle() const
get_pimpl_handle() - Gives pointer to implementation class.
void set_config(PLKernelAnyInfo &info)
set_config() - Sets the configuration for the kernel.
Definition: vart_plkernel.hpp:121
PLKernel(PLKernelImplType type, const std::string &kernel_name, std::string &json_data, std::shared_ptr< Device > device)
PLKernel() - Constructs a PLKernel object.
PLKernel(std::shared_ptr< PLKernelImplBase > ptr)
PLKernel() - Constructs a PLKernel object with a given implementation pointer.
int wait(unsigned int timeout)
wait() - Waits for the kernel to complete processing.
VART (Vitis AI Runtime) public API namespace.
PLKernelImplType
Definition: vart_plkernel_types.hpp:29
Device module managing hardware context and xclbin loading.