Accelerated Computation Engine
|
#include <ace_analytic_openclrun.h>
Classes | |
class | Thread |
Public Member Functions | |
virtual void | addWork (std::unique_ptr< EAbstractAnalytic::Block > &&block) override final |
OpenCLRun (EAbstractAnalytic::OpenCL *opencl, OpenCL::Device *device, AbstractInput *base, QObject *parent=nullptr) | |
virtual | ~OpenCLRun () override final |
![]() | |
AbstractRun (QObject *parent=nullptr) | |
Additional Inherited Members | |
![]() | |
void | finished () |
This is an OpenCL analytic run that processes the blocks of an analytic using an OpenCL device with multiple threads using the device at once to process work blocks. This is a complicated analytic run that has its own subclass representing a thread that actually processes the work blocks into result blocks.
|
explicit |
|
finaloverridevirtual |
This deletes all threads this OpenCL run contains. The threads are not deleted until their thread has finished execution, blocking until that is the case. This is to prevent undefined behavior.
|
finaloverridevirtual |
Implements the interface that is called to add a work block to be processed by this abstract run. This implementation waits until a thread is idle and then adding the given work block to the idle thread for execution. While this waits it is blocking.
block | The work block that is processed. |
Implements Ace::Analytic::AbstractRun.