24.02.1
|
A multi-input (tensors), multi-output (tensors) acyclic directed graph of gpu kernel components Its main purposes are: More...
#include <GpuKernelComponentGraph.h>
Public Member Functions | |
GpuKernelComponentGraph (GpuWorkloadContext *context, GpuComponentServices *services) | |
Constructor. More... | |
GpuKernelComponentGraph (const GpuKernelComponentGraph &graph)=delete | |
Prevent instances of this class from being copy constructed. More... | |
GpuKernelComponentGraph & | operator= (const GpuKernelComponentGraph &graph)=delete |
Prevent instances of this class from being copied. More... | |
GpuKernelComponentGraph (GpuKernelComponentGraph &&graph)=default | |
Allow instances of this class to be move constructed. More... | |
GpuKernelComponentGraph & | operator= (GpuKernelComponentGraph &&graph)=default |
Allow instances of this class to be moved. More... | |
template<typename T , typename... Args> | |
void | add_new_component (Args &&...args) |
Create a new component and add it to the component graph Component id is automatically allocated. More... | |
GpuKernelComponentStream | fuse (const MemoryDescriptorMap &mem_map) const |
Perform component fusion and serialize the graph into a stream of component groups. More... | |
A multi-input (tensors), multi-output (tensors) acyclic directed graph of gpu kernel components Its main purposes are:
Definition at line 47 of file GpuKernelComponentGraph.h.
GpuKernelComponentGraph | ( | GpuWorkloadContext * | context, |
GpuComponentServices * | services | ||
) |
Constructor.
[in] | context | GpuWorkloadContext to be used by the graph |
[in] | services | GpuComponentServices to be used by the graph |
Definition at line 43 of file GpuKernelComponentGraph.cpp.
References arm_compute::test::validation::context.
|
delete |
Prevent instances of this class from being copy constructed.
|
default |
Allow instances of this class to be move constructed.
|
inline |
Create a new component and add it to the component graph Component id is automatically allocated.
T | Component type |
Args | Component argument types |
[in] | args | Component arguments except for component id, which is auto-allocated |
Definition at line 73 of file GpuKernelComponentGraph.h.
References DependencyGraph::add_operator(), GemmTuner::args, ARM_COMPUTE_ERROR_ON, ARM_COMPUTE_UNUSED, GpuComponentServices::component_factory(), GpuKernelComponentFactory::create(), ArgumentPack< T >::get_const_dst_tensors(), ArgumentPack< T >::get_const_src_tensors(), and tf_frozen_model_extractor::t.
Referenced by GpuSigmoid::create_op(), GpuTanh::create_op(), GpuClamp::create_op(), GpuResize::create_op(), GpuDepthwiseConv2d::create_op(), and GpuCast::create_op().
GpuKernelComponentStream fuse | ( | const MemoryDescriptorMap & | mem_map | ) | const |
Perform component fusion and serialize the graph into a stream of component groups.
[in] | mem_map | MemoryDescriptorMap for all the tensors in the component graph |
Definition at line 48 of file GpuKernelComponentGraph.cpp.
References ARM_COMPUTE_ERROR_ON, ARM_COMPUTE_UNUSED, and DependencyGraph::build_operators_sequence().
Referenced by GpuWorkloadSketch::Implementation::generate_source_code().
|
delete |
Prevent instances of this class from being copied.
|
default |
Allow instances of this class to be moved.