24.02.1
|
Go to the documentation of this file.
32 namespace experimental
34 namespace dynamic_fusion
39 : _context{
context}, _services{services}, _component_groups{}, _mem_map{mem_map}
47 for (
auto &&group : _component_groups)
55 const auto unit_workload_stage = group.get_root_component()->properties().stage();
56 source_code.
add_unit_workload(kernel_code, unit_workload_stage, _mem_map, _context);
63 _component_groups.emplace_back();
69 return _component_groups.back().add_component(component);
A wrapper-processor of a GpuKernelComponentGroup It adds the load (if any) and store components to th...
GpuWorkloadSourceCode write_workload_code()
Generate and assemble GpuWorkloadSourceCode from the stream.
Container of kernel code to be compiled and run in a GpuUnitWorkload.
#define ARM_COMPUTE_ERROR_ON(cond)
If the condition is true then an error message is printed and an exception thrown.
void new_component_group()
Insert a new component group in the stream.
Provide context necessary for the creation and configuration of a workload e.g.
UnitWorkloadId add_unit_workload(const GpuKernelSourceCode &kernel_code, const UnitWorkloadStage &stage, const MemoryDescriptorMap &mem_map, const GpuWorkloadContext *context)
Add a unit workload to the workload code.
Hold the generated kernel source code and other information required to compile and run the workload.
bool add_component(IGpuKernelComponent *component)
Add a component to the previously created component group Throw an error if no component group is pre...
GpuKernelSourceCode write_kernel_code()
Generate a GpuKernelSourceCode.
GpuKernelComponentStream(GpuWorkloadContext *context, GpuComponentServices *services, const MemoryDescriptorMap &mem_map)
Constructor.
Copyright (c) 2017-2024 Arm Limited.
Services that are used throughout the creation phase of workload code.
An abstract interface of a component.
std::map< ITensorInfo::Id, MemoryDescriptor > MemoryDescriptorMap
A map from ITensorInfo to their corresponding MemoryDescriptor.