MLCE-1092 Add Names to Workloads

 * Added names to Workloads.
    * Workloads will be given the name of the Layer that created them.
 * Added new profiling macros to CL Neon and Ref that add the
   workload name to the event label
 * Updated workloads to use new macros.
 * Added missing profiling to Rank Workloads.
 * Fixed issue where ClConvolution2dWorkload was being reported as
   Undefined rather than GpuAcc.

Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I0a55eab6c2f455b73943aca8e99a247c3cb2a906
diff --git a/src/backends/cl/workloads/ClWorkloadUtils.hpp b/src/backends/cl/workloads/ClWorkloadUtils.hpp
index 8f2fb48..4b491e3 100644
--- a/src/backends/cl/workloads/ClWorkloadUtils.hpp
+++ b/src/backends/cl/workloads/ClWorkloadUtils.hpp
@@ -1,5 +1,5 @@
 //
-// Copyright © 2022 Arm Ltd and Contributors. All rights reserved.
+// Copyright © 2017-2023 Arm Ltd and Contributors. All rights reserved.
 // SPDX-License-Identifier: MIT
 //
 #pragma once
@@ -28,7 +28,15 @@
 #define ARMNN_SCOPED_PROFILING_EVENT_CL_GUID(name, guid) \
     ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS(armnn::Compute::GpuAcc, \
                                                   guid, \
-                                                  name, \
+                                                  GetName() + "_" + name, \
+                                                  armnn::OpenClTimer(), \
+                                                  armnn::WallClockTimer())
+
+/// Creates a profiling event that uses GetGuid() and GetName() from the calling class
+#define ARMNN_SCOPED_PROFILING_EVENT_CL_NAME_GUID(label) \
+    ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS(armnn::Compute::GpuAcc, \
+                                                  this->GetGuid(), \
+                                                  this->GetName() + "_" + label, \
                                                   armnn::OpenClTimer(), \
                                                   armnn::WallClockTimer())