seapodym-parallel
Fish dynamics models with parameter estimations
Loading...
Searching...
No Matches
TaskStepManager.h
1#include <mpi.h>
2#include <map>
3#include <set>
4#include <array>
5
6#ifndef TASK_DEPENDENCY_MANAGER
7#define TASK_DEPENDENCY_MANAGER
8
22
23// TaskId
24using dep_type = std::array<int, 2>;
25
33
34 private:
35
36 // Communicator
37 MPI_Comm comm;
38
39 // number of tasks
40 int numTasks;
41
42 // taskId to first step index map
43 std::map<int, int> stepBegMap;
44
45 // taskId to last step index + 1 map
46 std::map<int, int> stepEndMap;
47
48 // dependencies
49 std::map<int, std::set<dep_type> > deps;
50
51 public:
52
61 TaskStepManager(MPI_Comm comm, int numTasks,
62 const std::map<int, int>& stepBegMap,
63 const std::map<int, int>& stepEndMap,
64 const std::map<int, std::set<dep_type> >& dependencyMap);
65
70 std::set< std::array<int, 3> > run() const;
71
72};
73
74#endif // TASK_DEPENDENCY_MANAGER
TaskStepManager(MPI_Comm comm, int numTasks, const std::map< int, int > &stepBegMap, const std::map< int, int > &stepEndMap, const std::map< int, std::set< dep_type > > &dependencyMap)
Definition TaskStepManager.cpp:11
std::set< std::array< int, 3 > > run() const
Definition TaskStepManager.cpp:24