PaCO++  0.05
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 
7 #include "Type.h"
8 #include <vector>
9 #include <iostream>
10 
11 using namespace std;
12 
14 
15 // vOut represents what localData/stopo have to send to nodes of dtopo (vOut[].rank is in dtopo space)
16 void computeSendBlock1D(const GlobalData_t& gd, const LocalData_t &sd,
17  const Topology_t &stopo, const Topology_t &dtopo,
18  const ParisBlock_param_t* param, vector<LocalData_t>& vOut);
19 
20 // vOut represents what localData/dtopo have to receive from nodes of stopo (vOut[].rank is in stopo space)
21 void computeReceiveBlock1D(const GlobalData_t& gd, const LocalData_t &dd,
22  const Topology_t &stopo, const Topology_t &dtopo,
23  const ParisBlock_param_t* param, vector<LocalData_t>& vOut);
24 
25 // vOut represents what localData/stopo have to send to nodes of dtopo (vOut[].rank is in dtopo space)
26 void computeSendRemoteDataBlock1D(const GlobalData_t& gd, const LocalData_t &sd,
27  const Topology_t &stopo, const Topology_t &dtopo,
28  vector<LocalData_t>& vOut, const PaCO::distLoc_t mode);
29 
30 
34 
35 void computeSendDataBlock1D(const GlobalData_t& gd, const LocalData_t &sd,
36  const Topology_t &stopo, const Topology_t &dtopo, const ParisBlock_param_t* param,
37  vAbstrait& vdarray, vector<unsigned>& destid,
38  const PaCO::distLoc_t& mode, void* comm);
39 
40 bool computeReceiveDataBlock1D(vAbstrait* sdata, const PaCO::distLoc_t& mode,
41  const unsigned total, const unsigned rank, const ParisBlock_param_t* param,
42  /*out*/ Abstrait* varray, void* comm);
43 
47 
48 void doSchedule(const GlobalData_t& gd, const LocalData_t& ld, const Topology_t &ctopo,
49  vector<LocalData_t>& sched_send, vector<LocalData_t>& sched_recv, void* comm);
50 
54 
55 unsigned nbofPart(const PaCO::distLoc_t& mode, const unsigned stotal, const unsigned dtotal, const unsigned drank);
56 unsigned posofPart(const PaCO::distLoc_t& mode, const unsigned dtotal, const unsigned srank);
57 
58 #endif
void computeSendDataBlock1D(const GlobalData_t &gd, const LocalData_t &sd, const Topology_t &stopo, const Topology_t &dtopo, const ParisBlock_param_t *param, vAbstrait &vdarray, vector< unsigned > &destid, const PaCO::distLoc_t &mode, void *comm)
Definition: ClientSide.cc:215
vector< BasicBC > sd
Definition: debug.cc:14
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
bool computeReceiveDataBlock1D(vAbstrait *sdata, const PaCO::distLoc_t &mode, const unsigned total, const unsigned rank, const ParisBlock_param_t *param, Abstrait *varray, void *comm)
Definition: ServerSide.cc:151
unsigned nbofPart(const PaCO::distLoc_t &mode, const unsigned stotal, const unsigned dtotal, const unsigned drank)
Definition: ServerSide.cc:120
distLoc_t
Definition: PaCO++.idl:12
vector< long * > sdata
Definition: debug.cc:17
void computeSendBlock1D(const GlobalData_t &gd, const LocalData_t &sd, const Topology_t &stopo, const Topology_t &dtopo, const ParisBlock_param_t *param, vector< LocalData_t > &vOut)
Definition: Schedule.cc:38
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)
void computeReceiveBlock1D(const GlobalData_t &gd, const LocalData_t &dd, const Topology_t &stopo, const Topology_t &dtopo, const ParisBlock_param_t *param, vector< LocalData_t > &vOut)
Definition: Schedule.cc:135
vector< BasicBC > dd
Definition: debug.cc:15