diff options
author | Michalis Spyrou <michalis.spyrou@arm.com> | 2018-01-15 11:15:26 +0000 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:43:13 +0000 |
commit | 84f3ae89369ab896576ea17112956b42bc60d203 (patch) | |
tree | d62115563b18cb1c634910e5c836ed2fecedbd36 | |
parent | 86fb1e74dc4c696dbab0efc45e9449129182e040 (diff) | |
download | ComputeLibrary-84f3ae89369ab896576ea17112956b42bc60d203.tar.gz |
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 <pablo.tello@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
-rw-r--r-- | arm_compute/runtime/CL/CLScheduler.h | 4 | ||||
-rw-r--r-- | src/runtime/CL/CLScheduler.cpp | 7 | ||||
-rw-r--r-- | 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) |