24.02.1
|
A linear sequence of component groups serialized from the GpuKernelComponentGraph Each component group in the stream denotes a complete kernel that may consist of multiple components. More...
#include <GpuKernelComponentStream.h>
Public Member Functions | |
GpuKernelComponentStream (GpuWorkloadContext *context, GpuComponentServices *services, const MemoryDescriptorMap &mem_map) | |
Constructor. More... | |
GpuKernelComponentStream (const GpuKernelComponentStream &stream)=default | |
Allow instances of this class to be copy constructed. More... | |
GpuKernelComponentStream & | operator= (const GpuKernelComponentStream &stream)=default |
Allow instances of this class to be copied. More... | |
GpuKernelComponentStream (GpuKernelComponentStream &&stream)=default | |
Allow instances of this class to be move constructed. More... | |
GpuKernelComponentStream & | operator= (GpuKernelComponentStream &&stream)=default |
Allow instances of this class to be moved. More... | |
GpuWorkloadSourceCode | write_workload_code () |
Generate and assemble GpuWorkloadSourceCode from the stream. More... | |
void | new_component_group () |
Insert a new component group in the stream. More... | |
bool | add_component (IGpuKernelComponent *component) |
Add a component to the previously created component group Throw an error if no component group is present in the stream. More... | |
A linear sequence of component groups serialized from the GpuKernelComponentGraph Each component group in the stream denotes a complete kernel that may consist of multiple components.
The main purposes of this class are:
Definition at line 48 of file GpuKernelComponentStream.h.
GpuKernelComponentStream | ( | GpuWorkloadContext * | context, |
GpuComponentServices * | services, | ||
const MemoryDescriptorMap & | mem_map | ||
) |
Constructor.
[in] | context | GpuWorkloadContext to be used throughout the stream |
[in] | services | GpuComponentServices to be used throughout the stream |
[in] | mem_map | MemoryDescriptor map used to assemble the GpuWorkloadSourceCode |
Definition at line 36 of file GpuKernelComponentStream.cpp.
References arm_compute::test::validation::context.
|
default |
Allow instances of this class to be copy constructed.
|
default |
Allow instances of this class to be move constructed.
bool add_component | ( | IGpuKernelComponent * | component | ) |
Add a component to the previously created component group Throw an error if no component group is present in the stream.
[in] | component | Component to be inserted |
Definition at line 66 of file GpuKernelComponentStream.cpp.
References ARM_COMPUTE_ERROR_ON.
void new_component_group | ( | ) |
Insert a new component group in the stream.
Subsequent components are added to this group until end of stream or the next new_component_group is called
Definition at line 61 of file GpuKernelComponentStream.cpp.
|
default |
Allow instances of this class to be copied.
|
default |
Allow instances of this class to be moved.
GpuWorkloadSourceCode write_workload_code | ( | ) |
Generate and assemble GpuWorkloadSourceCode from the stream.
Definition at line 43 of file GpuKernelComponentStream.cpp.
References GpuWorkloadSourceCode::add_unit_workload(), and GpuLogicalKernel::write_kernel_code().
Referenced by GpuWorkloadSketch::Implementation::generate_source_code().