IVGCVSW-1951 Remove type templating from ClPooling2dWorkload

Change-Id: Iaa3158487b58964d8a3b98acadde7c10172a3860
diff --git a/src/backends/cl/workloads/ClPooling2dWorkload.hpp b/src/backends/cl/workloads/ClPooling2dWorkload.hpp
new file mode 100644
index 0000000..0812e33
--- /dev/null
+++ b/src/backends/cl/workloads/ClPooling2dWorkload.hpp
@@ -0,0 +1,33 @@
+//
+// Copyright © 2017 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#pragma once
+
+#include <backends/Workload.hpp>
+
+#include <arm_compute/runtime/CL/CLFunctions.h>
+
+namespace armnn
+{
+
+arm_compute::Status ClPooling2dWorkloadValidate(const TensorInfo& input,
+    const TensorInfo& output,
+    const Pooling2dDescriptor& descriptor);
+
+class ClPooling2dWorkload : public BaseWorkload<Pooling2dQueueDescriptor>
+{
+public:
+    using BaseWorkload<Pooling2dQueueDescriptor>::m_Data;
+
+    ClPooling2dWorkload(const Pooling2dQueueDescriptor& descriptor,
+                        const WorkloadInfo& info);
+
+    void Execute() const override;
+
+private:
+    mutable arm_compute::CLPoolingLayer m_PoolingLayer;
+};
+
+} //namespace armnn