From e874ef9b845424dceeac4211ca9dfec24949f03c Mon Sep 17 00:00:00 2001 From: Georgios Pinitas Date: Mon, 9 Sep 2019 17:40:33 +0100 Subject: COMPMID-2646: Wrap thread-related structure to ease bare-metal support Wraps "lock_guard" and "unique_lock" to ease bare-metal support. Adds basic armclang compilation flow. Change-Id: I44ccd042652acd6a9b442c57c879db3891abb0e2 Signed-off-by: Georgios Pinitas Reviewed-on: https://review.mlplatform.org/c/1923 Tested-by: Arm Jenkins Reviewed-by: Pablo Marquez Comments-Addressed: Arm Jenkins --- src/core/NEON/kernels/NEHOGDetectorKernel.cpp | 4 ++-- src/core/NEON/kernels/NEHistogramKernel.cpp | 2 +- src/core/NEON/kernels/NEMeanStdDevKernel.cpp | 2 +- src/core/NEON/kernels/NEMinMaxLayerKernel.cpp | 2 +- src/core/NEON/kernels/NEMinMaxLocationKernel.cpp | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) (limited to 'src/core/NEON/kernels') diff --git a/src/core/NEON/kernels/NEHOGDetectorKernel.cpp b/src/core/NEON/kernels/NEHOGDetectorKernel.cpp index 2c02ab8997..8f523998d8 100644 --- a/src/core/NEON/kernels/NEHOGDetectorKernel.cpp +++ b/src/core/NEON/kernels/NEHOGDetectorKernel.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016-2018 ARM Limited. + * Copyright (c) 2016-2019 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -177,7 +177,7 @@ void NEHOGDetectorKernel::run(const Window &window, const ThreadInfo &info) win.idx_class = _idx_class; win.score = score; - std::unique_lock lock(_mutex); + arm_compute::unique_lock lock(_mutex); _detection_windows->push_back(win); lock.unlock(); } diff --git a/src/core/NEON/kernels/NEHistogramKernel.cpp b/src/core/NEON/kernels/NEHistogramKernel.cpp index b088a232a8..211ea1ff9c 100644 --- a/src/core/NEON/kernels/NEHistogramKernel.cpp +++ b/src/core/NEON/kernels/NEHistogramKernel.cpp @@ -41,7 +41,7 @@ class Coordinates; inline void NEHistogramKernel::merge_histogram(uint32_t *global_hist, const uint32_t *local_hist, size_t bins) { - std::lock_guard lock(_hist_mtx); + arm_compute::lock_guard lock(_hist_mtx); const unsigned int v_end = (bins / 4) * 4; diff --git a/src/core/NEON/kernels/NEMeanStdDevKernel.cpp b/src/core/NEON/kernels/NEMeanStdDevKernel.cpp index 0af63059fb..afab6d6e51 100644 --- a/src/core/NEON/kernels/NEMeanStdDevKernel.cpp +++ b/src/core/NEON/kernels/NEMeanStdDevKernel.cpp @@ -142,7 +142,7 @@ void NEMeanStdDevKernel::run(const Window &window, const ThreadInfo &info) const float num_pixels = _input->info()->dimension(0) * _input->info()->dimension(1); // Merge sum and calculate mean and stddev - std::unique_lock lock(_mtx); + arm_compute::unique_lock lock(_mtx); *_global_sum += vget_lane_u64(local_sum, 0); diff --git a/src/core/NEON/kernels/NEMinMaxLayerKernel.cpp b/src/core/NEON/kernels/NEMinMaxLayerKernel.cpp index fe3af0b44f..f69c88324b 100644 --- a/src/core/NEON/kernels/NEMinMaxLayerKernel.cpp +++ b/src/core/NEON/kernels/NEMinMaxLayerKernel.cpp @@ -212,7 +212,7 @@ void NEMinMaxLayerKernel::reset() void NEMinMaxLayerKernel::update_min_max(float *out_ptr, float min, float max) { - std::lock_guard lock(_mtx); + arm_compute::lock_guard lock(_mtx); const float32x2_t old_min = vld1_dup_f32(out_ptr); const float32x2_t old_max = vld1_dup_f32(out_ptr + 1); diff --git a/src/core/NEON/kernels/NEMinMaxLocationKernel.cpp b/src/core/NEON/kernels/NEMinMaxLocationKernel.cpp index 08b27e319e..7fa2dc1c8a 100644 --- a/src/core/NEON/kernels/NEMinMaxLocationKernel.cpp +++ b/src/core/NEON/kernels/NEMinMaxLocationKernel.cpp @@ -117,7 +117,7 @@ void NEMinMaxKernel::reset() template void NEMinMaxKernel::update_min_max(const T min, const T max) { - std::lock_guard lock(_mtx); + arm_compute::lock_guard lock(_mtx); using type = typename std::conditional::value, float, int32_t>::type; -- cgit v1.2.1