MCPcopy Create free account
hub / github.com/ARM-software/armnn / ClStackWorkload

Method ClStackWorkload

src/backends/cl/workloads/ClStackWorkload.cpp:47–73  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

45}
46
47ClStackWorkload::ClStackWorkload(const StackQueueDescriptor& descriptor,
48 const WorkloadInfo& info,
49 const arm_compute::CLCompileContext& clCompileContext)
50: ClBaseWorkload<StackQueueDescriptor>(descriptor, info)
51{
52 // Report Profiling Details
53 ARMNN_REPORT_PROFILING_WORKLOAD_DESC("ClStackWorkload_Construct",
54 descriptor.m_Parameters,
55 info,
56 this->GetGuid());
57
58 std::vector<arm_compute::ICLTensor*> aclInputs;
59 for (auto input : m_Data.m_Inputs)
60 {
61 arm_compute::ICLTensor& aclInput = armnn::PolymorphicPointerDowncast<IClTensorHandle>(input)->GetTensor();
62 aclInputs.emplace_back(&aclInput);
63 }
64 arm_compute::ICLTensor& output = armnn::PolymorphicPointerDowncast<IClTensorHandle>(
65 m_Data.m_Outputs[0])->GetTensor();
66
67 m_Layer.reset(new arm_compute::CLStackLayer());
68 int aclAxis = CalcAxis(descriptor.m_Parameters.m_Axis, descriptor.m_Parameters.m_InputShape.GetNumDimensions());
69 {
70 ARMNN_SCOPED_PROFILING_EVENT_CL_NAME_GUID("ClStackWorkload_configure");
71 m_Layer->configure(clCompileContext, aclInputs, aclAxis, &output);
72 }
73}
74
75void ClStackWorkload::Execute() const
76{

Callers

nothing calls this directly

Calls 5

GetTensorMethod · 0.80
CalcAxisFunction · 0.70
GetGuidMethod · 0.45
resetMethod · 0.45
GetNumDimensionsMethod · 0.45

Tested by

no test coverage detected