Make OpenCL Executor flush task queue and clFinish() command queue

Description

Currently the Executor that launches the ComputationRuns is simply stopped when the OpenCL infrastructure is shut down. On the other hand there can still tasks be submitted to the Executor when it is shutting down. This causes indeterministic errors sometimes.

1. Make the Executor flush the task queue so that all formerly issued ComputationRuns get executed

2. Make Executor wait for clFinish() on CL command queue so that all kernel and memory operations issues inside the ComputationRuns get executed

3. After shutdown() was called, ignore further ComputationRun submission

Assignee

Benjamin Wulff

Reporter

Benjamin Wulff

Components

Fix versions

Affects versions

Priority

Major
Configure