Accelerated Computation Engine
ace_analytic_chunk.h
1 #ifndef ACE_ANALYTIC_CHUNK_H
2 #define ACE_ANALYTIC_CHUNK_H
3 #include "ace_analytic_abstractmanager.h"
4 #include "ace_analytic_abstractinput.h"
5 #include "ace_analytic.h"
6 //
7 
8 
9 
10 namespace Ace
11 {
12  namespace Analytic
13  {
23  class Chunk : public AbstractManager, public AbstractInput
24  {
25  Q_OBJECT
26  public:
27  virtual bool isFinished() const override final;
28  public:
29  explicit Chunk(quint16 type, int index, int size);
30  virtual ~Chunk() override final;
31  protected:
32  virtual QFile* addOutputFile(const QString& path) override final;
33  virtual Ace::DataObject* addOutputData(const QString& path, quint16 type, const EMetadata& system) override final;
34  virtual void saveResult(std::unique_ptr<EAbstractAnalytic::Block>&& result) override final;
35  protected slots:
36  virtual void start() override final;
37  void process();
38  private:
39  void setupFile();
40  void setupIndexes();
41  bool setupOpenCL();
42  void setupSerial();
46  int _index;
50  int _size;
54  AbstractRun* _runner {nullptr};
59  QString _fileName;
63  QFile* _file;
68  QDataStream* _stream {nullptr};
72  int _end;
76  int _nextWork;
82  int _nextResult;
83  };
84  }
85 }
86 
87 
88 
89 #endif
virtual void saveResult(std::unique_ptr< EAbstractAnalytic::Block > &&result) override final
Definition: ace_analytic_chunk.cpp:136
virtual QFile * addOutputFile(const QString &path) override final
Definition: ace_analytic_chunk.cpp:89
Definition: ace.h:6
Definition: ace_analytic_chunk.h:23
virtual ~Chunk() override final
Definition: ace_analytic_chunk.cpp:70
Definition: ace_analytic_abstractinput.h:24
virtual void start() override final
Definition: ace_analytic_chunk.cpp:169
EAbstractAnalytic::Input::Type type(int index) const
Definition: ace_analytic_abstractmanager.cpp:136
Definition: ace_analytic_abstractmanager.h:32
virtual bool isFinished() const override final
Definition: ace_analytic_chunk.cpp:31
void process()
Definition: ace_analytic_chunk.cpp:197
int size() const
Definition: ace_analytic_abstractmanager.cpp:116
Chunk(quint16 type, int index, int size)
Definition: ace_analytic_chunk.cpp:54
Definition: emetadata.h:22
virtual int index() const
Definition: ace_analytic_abstractinput.cpp:91
Definition: ace_analytic_abstractrun.h:20
virtual Ace::DataObject * addOutputData(const QString &path, quint16 type, const EMetadata &system) override final
Definition: ace_analytic_chunk.cpp:114
Definition: ace_dataobject.h:21