PaCO++  0.05
PC/Schedule.h
Go to the documentation of this file.
1 #ifndef SCHEDULE_BLOC_1D_IS_DEFINED
2 #define SCHEDULE_BLOC_1D_IS_DEFINED
3 
4 #include <vector>
5 #include <Abstrait.h>
6 
8 
9 // vOut represents what localData/stopo have to send to nodes of dtopo (vOut[].rank is in dtopo space)
10 void computeSendBlock1D(const GlobalData_t& gd, const LocalData_t &sd,
11  const Topology_t &stopo, const Topology_t &dtopo,
12  vector<LocalData_t>& vOut);
13 
14 // vOut represents what localData/dtopo have to receive from nodes of stopo (vOut[].rank is in stopo space)
15 void computeReceiveBlock1D(const GlobalData_t& gd, const LocalData_t &dd,
16  const Topology_t &stopo, const Topology_t &dtopo,
17  vector<LocalData_t>& vOut);
18 
19 // vOut represents what localData/stopo have to send to nodes of dtopo (vOut[].rank is in dtopo space)
20 void computeSendRemoteDataBlock1D(const GlobalData_t& gd, const LocalData_t &sd,
21  const Topology_t &stopo, const Topology_t &dtopo,
22  vector<LocalData_t>& vOut, const PaCO::distLoc_t mode);
23 
24 
28 
29 void computeSendDataBlock1D(const GlobalData_t& gd, const LocalData_t &sd,
30  const Topology_t &stopo, const Topology_t &dtopo,
31  vAbstrait& vdarray, vector<unsigned>& destid,
32  const PaCO::distLoc_t& mode, void* comm);
33 
34 bool computeReceiveDataBlock1D(vAbstrait* sdata, const PaCO::distLoc_t& mode,
35  const unsigned total, const unsigned rank,
36  /*out*/ Abstrait* varray, void* comm);
37 
41 
42 void doSchedule(const GlobalData_t& gd, const LocalData_t& ld, const Topology_t &ctopo,
43  vector<LocalData_t>& sched_send, vector<LocalData_t>& sched_recv, void* comm);
44 
48 
49 unsigned nbofPart(const PaCO::distLoc_t& mode, const unsigned stotal, const unsigned dtotal, const unsigned drank);
50 unsigned posofPart(const PaCO::distLoc_t& mode, const unsigned dtotal, const unsigned srank);
51 
52 #endif
vector< BasicBC > sd
Definition: debug.cc:14
unsigned nbofPart(const PaCO::distLoc_t &mode, const unsigned stotal, const unsigned dtotal, const unsigned drank)
Definition: ServerSide.cc:120
void doSchedule(const GlobalData_t &gd, const LocalData_t &ld, const Topology_t &ctopo, vector< LocalData_t > &sched_send, vector< LocalData_t > &sched_recv, void *comm)
Definition: Schedule.cc:227
distLoc_t
Definition: PaCO++.idl:12
void computeSendDataBlock1D(const GlobalData_t &gd, const LocalData_t &sd, const Topology_t &stopo, const Topology_t &dtopo, vAbstrait &vdarray, vector< unsigned > &destid, const PaCO::distLoc_t &mode, void *comm)
void computeSendBlock1D(const GlobalData_t &gd, const LocalData_t &sd, const Topology_t &stopo, const Topology_t &dtopo, vector< LocalData_t > &vOut)
Definition: PC/Schedule.cc:39
vector< long * > sdata
Definition: debug.cc:17
bool computeReceiveDataBlock1D(vAbstrait *sdata, const PaCO::distLoc_t &mode, const unsigned total, const unsigned rank, Abstrait *varray, void *comm)
vector< BasicBC > dd
Definition: debug.cc:15
void computeReceiveBlock1D(const GlobalData_t &gd, const LocalData_t &dd, const Topology_t &stopo, const Topology_t &dtopo, vector< LocalData_t > &vOut)
Definition: PC/Schedule.cc:105
unsigned posofPart(const PaCO::distLoc_t &mode, const unsigned dtotal, const unsigned srank)
Definition: ServerSide.cc:138
void computeSendRemoteDataBlock1D(const GlobalData_t &gd, const LocalData_t &sd, const Topology_t &stopo, const Topology_t &dtopo, vector< LocalData_t > &vOut, const PaCO::distLoc_t mode)