aboutsummaryrefslogtreecommitdiff
path: root/src/backends/cl
diff options
context:
space:
mode:
authorMohamed Nour Abouelseoud <mohamednour.abouelseoud@arm.com>2018-10-12 12:26:24 +0100
committerMatthew Bentham <matthew.bentham@arm.com>2018-10-22 16:57:54 +0100
commit7420e55aefe545452639992ab1972fd355a9ed30 (patch)
treedeae0ab925ca138e2c5f1130477d92f5d45c9de6 /src/backends/cl
parentb5acbb77918df98debac200ebe082ce9aaab6a8c (diff)
downloadarmnn-7420e55aefe545452639992ab1972fd355a9ed30.tar.gz
IVGCVSW-1885 add RefPadWorkload implementation and associated unit tests
* Added RefPadWorkload implementation * Added unit tests and applied them to CL and Ref backends * Fixed a bug in ClPadWorkload Change-Id: I8cb76bc9d60ae8a39b08d40f05d628e3b72f6410
Diffstat (limited to 'src/backends/cl')
-rwxr-xr-xsrc/backends/cl/test/ClLayerTests.cpp5
-rw-r--r--src/backends/cl/workloads/ClPadWorkload.cpp9
2 files changed, 13 insertions, 1 deletions
diff --git a/src/backends/cl/test/ClLayerTests.cpp b/src/backends/cl/test/ClLayerTests.cpp
index 58aad99750..0f8b75f50e 100755
--- a/src/backends/cl/test/ClLayerTests.cpp
+++ b/src/backends/cl/test/ClLayerTests.cpp
@@ -246,6 +246,11 @@ ARMNN_AUTO_TEST_CASE(SimpleFloor, SimpleFloorTest)
ARMNN_AUTO_TEST_CASE(SimpleReshapeFloat32, SimpleReshapeFloat32Test)
ARMNN_AUTO_TEST_CASE(SimpleReshapeUint8, SimpleReshapeUint8Test)
+// Pad
+ARMNN_AUTO_TEST_CASE(Pad2d, Pad2dTest)
+ARMNN_AUTO_TEST_CASE(Pad3d, Pad3dTest)
+ARMNN_AUTO_TEST_CASE(Pad4d, Pad4dTest)
+
// Permute
ARMNN_AUTO_TEST_CASE(SimplePermuteFloat32, SimplePermuteFloat32Test)
ARMNN_AUTO_TEST_CASE(SimplePermuteUint8, SimplePermuteUint8Test)
diff --git a/src/backends/cl/workloads/ClPadWorkload.cpp b/src/backends/cl/workloads/ClPadWorkload.cpp
index e75af83f44..3e63d5c210 100644
--- a/src/backends/cl/workloads/ClPadWorkload.cpp
+++ b/src/backends/cl/workloads/ClPadWorkload.cpp
@@ -22,7 +22,14 @@ ClPadWorkload::ClPadWorkload(const PadQueueDescriptor& descriptor, const Workloa
arm_compute::ICLTensor& input = static_cast<IClTensorHandle*>(this->m_Data.m_Inputs[0])->GetTensor();
arm_compute::ICLTensor& output = static_cast<IClTensorHandle*>(this->m_Data.m_Outputs[0])->GetTensor();
- arm_compute::PaddingList padList = static_cast<arm_compute::PaddingList>(descriptor.m_Parameters.m_PadList);
+
+ std::vector<std::pair<unsigned int, unsigned int>> reversed_PadList(descriptor.m_Parameters.m_PadList.size());
+
+ std::reverse_copy(std::begin(descriptor.m_Parameters.m_PadList),
+ std::end(descriptor.m_Parameters.m_PadList),
+ std::begin(reversed_PadList));
+
+ arm_compute::PaddingList padList = static_cast<arm_compute::PaddingList>(reversed_PadList);
m_Layer.configure(&input, &output, padList);
}