PaCO++
0.05
|
00001 #ifndef SCHEDULE_BLOC_1D_IS_DEFINED 00002 #define SCHEDULE_BLOC_1D_IS_DEFINED 00003 00004 #include <vector> 00005 #include <Abstrait.h> 00006 00007 #include "Type.h" 00008 #include <vector> 00009 #include <iostream> 00010 00011 using namespace std; 00012 00014 00015 // vOut represents what localData/stopo have to send to nodes of dtopo (vOut[].rank is in dtopo space) 00016 void computeSendBlock1D(const GlobalData_t& gd, const LocalData_t &sd, 00017 const Topology_t &stopo, const Topology_t &dtopo, 00018 const ParisBlock_param_t* param, vector<LocalData_t>& vOut); 00019 00020 // vOut represents what localData/dtopo have to receive from nodes of stopo (vOut[].rank is in stopo space) 00021 void computeReceiveBlock1D(const GlobalData_t& gd, const LocalData_t &dd, 00022 const Topology_t &stopo, const Topology_t &dtopo, 00023 const ParisBlock_param_t* param, vector<LocalData_t>& vOut); 00024 00025 // vOut represents what localData/stopo have to send to nodes of dtopo (vOut[].rank is in dtopo space) 00026 void computeSendRemoteDataBlock1D(const GlobalData_t& gd, const LocalData_t &sd, 00027 const Topology_t &stopo, const Topology_t &dtopo, 00028 vector<LocalData_t>& vOut, const PaCO::distLoc_t mode); 00029 00030 00034 00035 void computeSendDataBlock1D(const GlobalData_t& gd, const LocalData_t &sd, 00036 const Topology_t &stopo, const Topology_t &dtopo, const ParisBlock_param_t* param, 00037 vAbstrait& vdarray, vector<unsigned>& destid, 00038 const PaCO::distLoc_t& mode, void* comm); 00039 00040 bool computeReceiveDataBlock1D(vAbstrait* sdata, const PaCO::distLoc_t& mode, 00041 const unsigned total, const unsigned rank, const ParisBlock_param_t* param, 00042 /*out*/ Abstrait* varray, void* comm); 00043 00047 00048 void doSchedule(const GlobalData_t& gd, const LocalData_t& ld, const Topology_t &ctopo, 00049 vector<LocalData_t>& sched_send, vector<LocalData_t>& sched_recv, void* comm); 00050 00054 00055 unsigned nbofPart(const PaCO::distLoc_t& mode, const unsigned stotal, const unsigned dtotal, const unsigned drank); 00056 unsigned posofPart(const PaCO::distLoc_t& mode, const unsigned dtotal, const unsigned srank); 00057 00058 #endif