diff options
author | Michalis Spyrou <michalis.spyrou@arm.com> | 2020-04-08 14:10:15 +0100 |
---|---|---|
committer | Michalis Spyrou <michalis.spyrou@arm.com> | 2020-04-17 14:20:01 +0000 |
commit | d1d7722cfc5ee130115d8d195068a98b16102a21 (patch) | |
tree | f68f3ecca02ab4edde90189266fa186ec1a69474 /tests/validation/Helpers.cpp | |
parent | 4c6bd514a8d424a29b776754f1b3426fa3a8c339 (diff) | |
download | ComputeLibrary-d1d7722cfc5ee130115d8d195068a98b16102a21.tar.gz |
COMPMID-3314: Enable OpenMP in the reference tests
Change-Id: I05b5fedb998317144e0dd13a6377a97207b27f46
Signed-off-by: Michalis Spyrou <michalis.spyrou@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3024
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'tests/validation/Helpers.cpp')
-rw-r--r-- | tests/validation/Helpers.cpp | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/tests/validation/Helpers.cpp b/tests/validation/Helpers.cpp index 093271244e..6e93cd0638 100644 --- a/tests/validation/Helpers.cpp +++ b/tests/validation/Helpers.cpp @@ -113,7 +113,9 @@ SimpleTensor<float> convert_from_asymmetric(const SimpleTensor<uint8_t> &src) { const UniformQuantizationInfo &quantization_info = src.quantization_info().uniform(); SimpleTensor<float> dst{ src.shape(), DataType::F32, 1, QuantizationInfo(), src.data_layout() }; - +#if defined(_OPENMP) + #pragma omp parallel for +#endif /* _OPENMP */ for(int i = 0; i < src.num_elements(); ++i) { dst[i] = dequantize_qasymm8(src[i], quantization_info); @@ -127,6 +129,9 @@ SimpleTensor<float> convert_from_asymmetric(const SimpleTensor<int8_t> &src) const UniformQuantizationInfo &quantization_info = src.quantization_info().uniform(); SimpleTensor<float> dst{ src.shape(), DataType::F32, 1, QuantizationInfo(), src.data_layout() }; +#if defined(_OPENMP) + #pragma omp parallel for +#endif /* _OPENMP */ for(int i = 0; i < src.num_elements(); ++i) { dst[i] = dequantize_qasymm8_signed(src[i], quantization_info); @@ -140,6 +145,9 @@ SimpleTensor<float> convert_from_asymmetric(const SimpleTensor<uint16_t> &src) const UniformQuantizationInfo &quantization_info = src.quantization_info().uniform(); SimpleTensor<float> dst{ src.shape(), DataType::F32, 1, QuantizationInfo(), src.data_layout() }; +#if defined(_OPENMP) + #pragma omp parallel for +#endif /* _OPENMP */ for(int i = 0; i < src.num_elements(); ++i) { dst[i] = dequantize_qasymm16(src[i], quantization_info); @@ -153,6 +161,9 @@ SimpleTensor<uint8_t> convert_to_asymmetric(const SimpleTensor<float> &src, cons SimpleTensor<uint8_t> dst{ src.shape(), DataType::QASYMM8, 1, quantization_info }; const UniformQuantizationInfo &qinfo = quantization_info.uniform(); +#if defined(_OPENMP) + #pragma omp parallel for +#endif /* _OPENMP */ for(int i = 0; i < src.num_elements(); ++i) { dst[i] = quantize_qasymm8(src[i], qinfo); @@ -166,6 +177,9 @@ SimpleTensor<int8_t> convert_to_asymmetric(const SimpleTensor<float> &src, const SimpleTensor<int8_t> dst{ src.shape(), DataType::QASYMM8_SIGNED, 1, quantization_info }; const UniformQuantizationInfo &qinfo = quantization_info.uniform(); +#if defined(_OPENMP) + #pragma omp parallel for +#endif /* _OPENMP */ for(int i = 0; i < src.num_elements(); ++i) { dst[i] = quantize_qasymm8_signed(src[i], qinfo); @@ -179,6 +193,9 @@ SimpleTensor<uint16_t> convert_to_asymmetric(const SimpleTensor<float> &src, con SimpleTensor<uint16_t> dst{ src.shape(), DataType::QASYMM16, 1, quantization_info }; const UniformQuantizationInfo &qinfo = quantization_info.uniform(); +#if defined(_OPENMP) + #pragma omp parallel for +#endif /* _OPENMP */ for(int i = 0; i < src.num_elements(); ++i) { dst[i] = quantize_qasymm16(src[i], qinfo); @@ -192,6 +209,9 @@ SimpleTensor<int16_t> convert_to_symmetric(const SimpleTensor<float> &src, const SimpleTensor<int16_t> dst{ src.shape(), DataType::QSYMM16, 1, quantization_info }; const UniformQuantizationInfo &qinfo = quantization_info.uniform(); +#if defined(_OPENMP) + #pragma omp parallel for +#endif /* _OPENMP */ for(int i = 0; i < src.num_elements(); ++i) { dst[i] = quantize_qsymm16(src[i], qinfo); @@ -205,6 +225,9 @@ SimpleTensor<float> convert_from_symmetric(const SimpleTensor<int16_t> &src) const UniformQuantizationInfo &quantization_info = src.quantization_info().uniform(); SimpleTensor<float> dst{ src.shape(), DataType::F32, 1, QuantizationInfo(), src.data_layout() }; +#if defined(_OPENMP) + #pragma omp parallel for +#endif /* _OPENMP */ for(int i = 0; i < src.num_elements(); ++i) { dst[i] = dequantize_qsymm16(src[i], quantization_info); @@ -223,6 +246,9 @@ void matrix_multiply(const SimpleTensor<T> &a, const SimpleTensor<T> &b, SimpleT const int N = b.shape()[0]; // Cols const int K = b.shape()[1]; +#if defined(_OPENMP) + #pragma omp parallel for collapse(2) +#endif /* _OPENMP */ for(int y = 0; y < M; ++y) { for(int x = 0; x < N; ++x) @@ -246,6 +272,9 @@ void transpose_matrix(const SimpleTensor<T> &in, SimpleTensor<T> &out) const int width = in.shape()[0]; const int height = in.shape()[1]; +#if defined(_OPENMP) + #pragma omp parallel for collapse(2) +#endif /* _OPENMP */ for(int y = 0; y < height; ++y) { for(int x = 0; x < width; ++x) |