Release 18.08
[platform/upstream/armnn.git] / src / armnn / backends / ClWorkloads / ClDepthwiseConvolutionUint8Workload.cpp
index 7e7c488..4852ce8 100644 (file)
@@ -4,28 +4,34 @@
 //
 
 #include "ClDepthwiseConvolutionUint8Workload.hpp"
-#include "ClDepthwiseConvolutionHelper.hpp"
-#include "backends/ClTensorHandle.hpp"
+
 #include "backends/CpuTensorHandle.hpp"
 
 namespace armnn
 {
 
-
 ClDepthwiseConvolutionUint8Workload::ClDepthwiseConvolutionUint8Workload(
     const DepthwiseConvolution2dQueueDescriptor& descriptor,
     const WorkloadInfo& info)
-    : Uint8Workload<DepthwiseConvolution2dQueueDescriptor>(descriptor, info)
+    : ClDepthwiseConvolutionBaseWorkload(descriptor, info)
 {
-    InitClDepthwiseConvolutionWorkload(*this);
+    InitialiseArmComputeClTensorData(*m_KernelTensor, m_Data.m_Weight->template GetConstTensor<uint8_t>());
+
+    if (m_BiasTensor)
+    {
+        InitialiseArmComputeClTensorData(*m_BiasTensor, m_Data.m_Bias->template GetConstTensor<int32_t>());
+    }
+
+    m_DepthwiseConvolutionLayer->prepare();
+    FreeUnusedTensors();
 }
 
 void ClDepthwiseConvolutionUint8Workload::Execute() const
 {
-    ARMNN_SCOPED_PROFILING_EVENT(Compute::GpuAcc, "ClDepthwiseConvolutionUint8Workload_Execute");
-    BOOST_ASSERT(m_pDepthwiseConvolutionLayer);
+    ARMNN_SCOPED_PROFILING_EVENT_CL("ClDepthwiseConvolutionUint8Workload_Execute");
+    BOOST_ASSERT(m_DepthwiseConvolutionLayer);
 
-    m_pDepthwiseConvolutionLayer->run();
+    m_DepthwiseConvolutionLayer->run();
 }
 
 } //namespace armnn