seapodym-parallel
Fish dynamics models with parameter estimations
Loading...
Searching...
No Matches
SeapodymTaskManager.h
1#include <map>
2#include <vector>
3#include <set>
4
5#ifndef SEAPODYM_TASK_MANAGER
6#define SEAPODYM_TASK_MANAGER
7
13
15
16 private:
17
18 // number of age groups for each time step, ideally matching the number of workers
19 int numAgeGroups;
20
21 // number of workers 0...numWorkers-1
22 int numWorkers;
23
24 // total number of time steps across all cohorts
25 int numTimeSteps;
26
27 // number of cohorts
28 int numCohorts = this->numAgeGroups + this->numTimeSteps - 1;
29
30 // assign tasks to workers
31 std::map<int, std::vector<int> > worker2task;
32
33 public:
34
42 SeapodymTaskManager(int numAgeGroups, int numWorkers, int numTimeSteps);
43
49 std::vector<int> getInitTaskIds(int workerId) const;
50
56 int getNumSteps(int taskId) const;
57
63 std::set<int> getDependencies(int taskId) const;
64
70 int getNextTask(int taskId) const;
71
72};
73
74#endif // SEAPODYM_TASK_MANAGER
std::set< int > getDependencies(int taskId) const
Definition SeapodymTaskManager.cpp:44
int getNextTask(int taskId) const
Definition SeapodymTaskManager.cpp:73
int getNumSteps(int taskId) const
Definition SeapodymTaskManager.cpp:29
std::vector< int > getInitTaskIds(int workerId) const
Definition SeapodymTaskManager.cpp:23
SeapodymTaskManager(int numAgeGroups, int numWorkers, int numTimeSteps)
Definition SeapodymTaskManager.cpp:4