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/reference/InstanceNormalizationLayer.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/reference/InstanceNormalizationLayer.cpp')
-rw-r--r-- | tests/validation/reference/InstanceNormalizationLayer.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/tests/validation/reference/InstanceNormalizationLayer.cpp b/tests/validation/reference/InstanceNormalizationLayer.cpp index ad0ac1be68..339549723d 100644 --- a/tests/validation/reference/InstanceNormalizationLayer.cpp +++ b/tests/validation/reference/InstanceNormalizationLayer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019 ARM Limited. + * Copyright (c) 2019-2020 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -46,12 +46,14 @@ SimpleTensor<T> instance_normalization(const SimpleTensor<T> &src, float gamma, const size_t h_size = src.shape()[1]; const size_t c_size = src.shape()[2]; const size_t n_size = src.shape()[3]; - +#if defined(_OPENMP) + #pragma omp parallel for collapse(2) +#endif /* _OPENMP */ for(size_t n_i = 0; n_i < n_size; ++n_i) { for(size_t c_i = 0; c_i < c_size; ++c_i) { - float sum_h_w = 0; + float sum_h_w = 0; float sum_sq_h_w = 0; for(size_t h_i = 0; h_i < h_size; ++h_i) @@ -60,13 +62,14 @@ SimpleTensor<T> instance_normalization(const SimpleTensor<T> &src, float gamma, { float val = src[coord2index(src.shape(), Coordinates(w_i, h_i, c_i, n_i))]; sum_h_w += val; - sum_sq_h_w += val*val; + sum_sq_h_w += val * val; } } //Compute mean const float mean_h_w = sum_h_w / (h_size * w_size); //Compute variance - const float var_h_w = sum_sq_h_w / (h_size * w_size) - mean_h_w * mean_h_w;; + const float var_h_w = sum_sq_h_w / (h_size * w_size) - mean_h_w * mean_h_w; + ; //Apply mean for(size_t h_i = 0; h_i < h_size; ++h_i) |