Accelerated Computation Engine
ace_analytic_mpimaster.h
1 #ifndef ACE_ANALYTIC_MPIMASTER_H
2 #define ACE_ANALYTIC_MPIMASTER_H
3 #include "ace_analytic_abstractmpi.h"
4 #include "ace_analytic_abstractinput.h"
5 //
6 
7 
8 
9 namespace Ace
10 {
11  namespace Analytic
12  {
23  class MPIMaster : public AbstractMPI, public AbstractInput
24  {
25  Q_OBJECT
26  public:
27  virtual bool isFinished() const override final;
28  public:
29  explicit MPIMaster(quint16 type);
30  virtual ~MPIMaster() override final;
31  protected:
32  virtual int index() const override final;
33  virtual void writeResult(std::unique_ptr<EAbstractAnalytic::Block>&& result) override final;
34  private slots:
35  void dataReceived(const QByteArray& data, int fromRank);
36  private:
37  void processCode(int code, int fromRank);
38  void process(const QByteArray& data, int fromRank);
39  void terminate(int rank);
43  QMPI& _mpi;
47  int _nextWork {0};
51  int _nextResult {0};
52  };
53  }
54 }
55 
56 
57 
58 #endif
Definition: ace.h:6
Definition: ace_analytic_mpimaster.h:23
Definition: ace_analytic_abstractinput.h:24
EAbstractAnalytic::Input::Type type(int index) const
Definition: ace_analytic_abstractmanager.cpp:136
MPIMaster(quint16 type)
Definition: ace_analytic_mpimaster.cpp:41
virtual ~MPIMaster() override final
Definition: ace_analytic_mpimaster.cpp:58
Definition: ace_qmpi.h:25
virtual bool isFinished() const override final
Definition: ace_analytic_mpimaster.cpp:24
virtual void writeResult(std::unique_ptr< EAbstractAnalytic::Block > &&result) override final
Definition: ace_analytic_mpimaster.cpp:95
Definition: ace_analytic_abstractmpi.h:22
QVariant data(int index, EAbstractAnalytic::Input::Role role) const
Definition: ace_analytic_abstractmanager.cpp:157
virtual int index() const override final
Definition: ace_analytic_mpimaster.cpp:76