36 #include "compute_kernel_writer/include/ckw/KernelWriter.h"
37 #include "compute_kernel_writer/include/ckw/types/TargetArchitecture.h"
38 #include "compute_kernel_writer/include/ckw/types/TargetLanguage.h"
44 namespace experimental
46 namespace dynamic_fusion
50 _components = components;
54 for (
auto &comp : _components)
56 auto ckw_driver = comp->ckw_component_driver();
58 kernel_name += ckw_driver->get_name(_components) +
"__";
63 KernelWriter::create_instance(ckw::TargetArchitecture::GpuArmMaliValhall, ckw::TargetLanguage::OpenCL);
67 for (
auto &comp : _components)
69 auto ckw_driver = comp->ckw_component_driver();
71 ckw_driver->write_component_code(_components, vtable, writer);
73 auto kernel = root_writer->emit_kernel(
kernel_name);
77 _kernel_args = kernel->arguments();
78 _kernel_code = kernel->source_code();
81 std::string GpuCkwDriver::get_name()
86 std::string GpuCkwDriver::get_code()
91 std::string GpuCkwDriver::get_config_id()
94 for (
auto &comp : _components)
96 auto ckw_driver = comp->ckw_component_driver();
98 id = ckw_driver->get_tuner_id(_components) +
"__";
105 const auto root_comp = _components.get_root_component();
107 return root_comp->ckw_component_driver()->get_window();
113 for (
const auto &arg : _kernel_args)
117 case KernelArgument::Type::TensorStorage:
122 case KernelArgument::Type::TensorComponent: