|
Accelerated Computation Engine
|
#include <ace_analytic_mpislave.h>
Public Member Functions | |
| virtual bool | isFinished () const override final |
| MPISlave (quint16 type) | |
| virtual | ~MPISlave () override final |
Public Member Functions inherited from Ace::Analytic::AbstractManager | |
| quint16 | analyticType () const |
| int | size () const |
| EAbstractAnalytic::Input::Type | type (int index) const |
| QVariant | data (int index, EAbstractAnalytic::Input::Role role) const |
| QList< QString > | commandLineArguments () const |
| void | set (int index, const QVariant &value) |
Public Member Functions inherited from Ace::Analytic::AbstractInput | |
| AbstractInput ()=default | |
| ~AbstractInput () | |
Protected Member Functions | |
| virtual void | mpiStart (Type type, int platform, int device) override final |
| virtual QFile * | addOutputFile (const QString &path) override final |
| virtual Ace::DataObject * | addOutputData (const QString &path, quint16 type, const EMetadata &system) override final |
| virtual void | saveResult (std::unique_ptr< EAbstractAnalytic::Block > &&result) override final |
Protected Member Functions inherited from Ace::Analytic::AbstractMPI | |
| AbstractMPI (quint16 type) | |
Protected Member Functions inherited from Ace::Analytic::AbstractManager | |
| AbstractManager (quint16 type) | |
| std::unique_ptr< EAbstractAnalytic::Block > | makeWork (int index) |
| void | writeResult (std::unique_ptr< EAbstractAnalytic::Block > &&result, int expectedIndex) |
| EAbstractAnalytic * | analytic () |
| const EAbstractAnalytic * | analytic () const |
Protected Member Functions inherited from Ace::Analytic::AbstractInput | |
| virtual int | index () const |
| virtual void | writeResult (std::unique_ptr< EAbstractAnalytic::Block > &&result) |
Additional Inherited Members | |
Public Types inherited from Ace::Analytic::AbstractMPI | |
| enum | Type { Serial, OpenCL } |
Public Slots inherited from Ace::Analytic::AbstractManager | |
| void | initialize () |
| void | terminationRequested () |
| void | finish () |
Signals inherited from Ace::Analytic::AbstractManager | |
| void | progressed (int percentComplete) |
| void | done () |
| void | finished () |
Static Public Member Functions inherited from Ace::Analytic::AbstractManager | |
| static std::unique_ptr< Ace::Analytic::AbstractManager > | makeManager (quint16 type, int index, int size) |
Protected Types inherited from Ace::Analytic::AbstractMPI | |
| enum | Code { Terminate = -1, ReadyAsSerial = -2, ReadyAsOpenCL = -3 } |
Protected Slots inherited from Ace::Analytic::AbstractMPI | |
| virtual void | start () override final |
Protected Slots inherited from Ace::Analytic::AbstractManager | |
| virtual void | start () |
This is the MPI slave manager. This manager is used for an MPI run with any node that is not rank 0 and by definition a slave node. The sole function of this class is to process work blocks given to it by the master node and return the corresponding result blocks until a termination code is received. This class also sends a special code to the master node to signal when it is ready to start processing work blocks and if it is serial or accelerated. This special signal to the master node is not sent until it is given the resource type it will use by having the interface mpi start called from its inherited abstract class.
|
explicit |
Constructs a new MPI slave manager with the given analytic type.
| type | The analytic type this manager will use. |
|
finaloverridevirtual |
Properly shuts down the MPI system.
|
finaloverrideprotectedvirtual |
This interface opens a new data object with the given path, erasing any data the file may have contained and returning a pointer to the new data object. This implementation does nothing and returns a null pointer because it is a slave node and does not handle output.
| path | Unused path to data object file. |
| type | Unused data object type. |
| system | Unused system metadata for new data objects. |
Reimplemented from Ace::Analytic::AbstractManager.
|
finaloverrideprotectedvirtual |
Implements the interface that opens a new file set to write only and truncate with the given path. This implementation does nothing and returns a null pointer because it is a slave node and does not handle output.
| path | Unused path to file. |
Reimplemented from Ace::Analytic::AbstractManager.
|
finaloverridevirtual |
Implements the interface that tests if this abstract input is finished and received all result blocks for its analytic. This implementation is special because this is a slave node and is finished once it has received the termination signal and no longer has any blocks it is working on.
Implements Ace::Analytic::AbstractInput.
|
finaloverrideprotectedvirtual |
Implements the interface that is called to start this MPI manager as a slave node with the given resource type and optional platform and device index.
| type | The resource type this slave node will use for block processing. |
| platform | The optional platform index this slave node will use if its resource type is OpenCL. |
| device | The optional device index this slave node will use if its resource type is OpenCL. |
Reimplemented from Ace::Analytic::AbstractMPI.
|
finaloverrideprotectedvirtual |
Implements the interface that saves the given result block to its underlying analytic and assumes the order of indexes given is not sorted and random. This implementation simply sends the given result block back to the master node.
| result | The result block that is sent to the master node for saving. |
Reimplemented from Ace::Analytic::AbstractInput.
1.8.14