diff options
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) |