From 84f3ae89369ab896576ea17112956b42bc60d203 Mon Sep 17 00:00:00 2001 From: Michalis Spyrou Date: Mon, 15 Jan 2018 11:15:26 +0000 Subject: COMPMID-830 Fix hang in arm_compute_benchmark NEON Problem seems to happen when calling clfinish inside the CLScheduler destructor. Removed destructor and now calling sync() in benchmarks main.cpp. Change-Id: Ibb36a0d19aa03349d291407a1fb8266dce3ec75b Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/116288 Reviewed-by: Pablo Tello Tested-by: Jenkins --- arm_compute/runtime/CL/CLScheduler.h | 4 +--- src/runtime/CL/CLScheduler.cpp | 7 +------ tests/main.cpp | 6 +++++- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/arm_compute/runtime/CL/CLScheduler.h b/arm_compute/runtime/CL/CLScheduler.h index c76ee3f273..89c3bc1553 100644 --- a/arm_compute/runtime/CL/CLScheduler.h +++ b/arm_compute/runtime/CL/CLScheduler.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2018 ARM Limited. + * Copyright (c) 2016-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -52,8 +52,6 @@ class CLScheduler private: /** Constructor */ CLScheduler(); - /** Destructor */ - ~CLScheduler(); /** Prevent instances of this class from being copied (As this class contains pointers) */ CLScheduler(const CLScheduler &) = delete; /** Prevent instances of this class from being copied (As this class contains pointers) */ diff --git a/src/runtime/CL/CLScheduler.cpp b/src/runtime/CL/CLScheduler.cpp index c947b7acc4..65292fe837 100644 --- a/src/runtime/CL/CLScheduler.cpp +++ b/src/runtime/CL/CLScheduler.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2018 ARM Limited. + * Copyright (c) 2016-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -35,11 +35,6 @@ CLScheduler::CLScheduler() { } -CLScheduler::~CLScheduler() -{ - _queue.finish(); -} - CLScheduler &CLScheduler::get() { std::call_once(_initialize_symbols, opencl_is_available); diff --git a/tests/main.cpp b/tests/main.cpp index 2fb0dd2512..1f3c365c03 100644 --- a/tests/main.cpp +++ b/tests/main.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, 2018 ARM Limited. + * Copyright (c) 2017-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -191,6 +191,10 @@ int main(int argc, char **argv) } } +#ifdef ARM_COMPUTE_CL + CLScheduler::get().sync(); +#endif /* ARM_COMPUTE_CL */ + return (success ? 0 : 1); } catch(const std::exception &error) -- cgit v1.2.1