COMPMID-1266 : support for FP16 in CLWinogradConvolutionLayer
Added support for FP16 in CLWinogradConvolutionLayer: 5x5 kernels and 3x3 kernels(COMPMID-937)
Change-Id: I0f394cbdc978dd04176416e9f612aca3986b09e6
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/145537
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
diff --git a/tests/validation/Helpers.cpp b/tests/validation/Helpers.cpp
index 1044e32..fd034b6 100644
--- a/tests/validation/Helpers.cpp
+++ b/tests/validation/Helpers.cpp
@@ -169,7 +169,8 @@
return dst;
}
-void matrix_multiply(const SimpleTensor<float> &a, const SimpleTensor<float> &b, SimpleTensor<float> &out)
+template <typename T>
+void matrix_multiply(const SimpleTensor<T> &a, const SimpleTensor<T> &b, SimpleTensor<T> &out)
{
ARM_COMPUTE_ERROR_ON(a.shape()[0] != b.shape()[1]);
ARM_COMPUTE_ERROR_ON(a.shape()[1] != out.shape()[1]);
@@ -194,7 +195,8 @@
}
}
-void transpose_matrix(const SimpleTensor<float> &in, SimpleTensor<float> &out)
+template <typename T>
+void transpose_matrix(const SimpleTensor<T> &in, SimpleTensor<T> &out)
{
ARM_COMPUTE_ERROR_ON((in.shape()[0] != out.shape()[1]) || (in.shape()[1] != out.shape()[0]));
@@ -301,7 +303,14 @@
}
template void get_tile(const SimpleTensor<float> &in, SimpleTensor<float> &roi, const Coordinates &coord);
+template void get_tile(const SimpleTensor<half> &in, SimpleTensor<half> &roi, const Coordinates &coord);
template void zeros(SimpleTensor<float> &in, const Coordinates &anchor, const TensorShape &shape);
+template void zeros(SimpleTensor<half> &in, const Coordinates &anchor, const TensorShape &shape);
+template void transpose_matrix(const SimpleTensor<float> &in, SimpleTensor<float> &out);
+template void transpose_matrix(const SimpleTensor<half> &in, SimpleTensor<half> &out);
+template void matrix_multiply(const SimpleTensor<float> &a, const SimpleTensor<float> &b, SimpleTensor<float> &out);
+template void matrix_multiply(const SimpleTensor<half> &a, const SimpleTensor<half> &b, SimpleTensor<half> &out);
+
} // namespace validation
} // namespace test
} // namespace arm_compute