39 _ld.base = (
char*) data;
56 if (darray->dist().length() != 0 ) {
70 fprintf(stderr,
"computeReceive: Node %d : set entry %d/%d to %p\n",
_ld.rank, pos, nb, darray);
ParisBlockMPC(Fabrique *f)
bool computeReceive(Abstrait *darray)
Compute communication schedule on the server side.
bool computeReceiveDataBlock1D(vAbstrait *sdata, const PaCO::distLoc_t &mode, const unsigned total, const unsigned rank, const ParisBlock_param_t *param, Abstrait *varray, void *comm)
bool setServerConfiguration(const PaCO::PacoTopology_t &stopo)
PaCO::PacoTopology_t _clttopo
Abstrait * getResult() const
If computeReceive returns ok, get the data.
bool setLocalDataConfiguration(const PaCO::PacoLocalData_t &ld)
unsigned nbofPart(const PaCO::distLoc_t &mode, const unsigned stotal, const unsigned dtotal, const unsigned drank)
bool setGlobalDataConfiguration(const PaCO::PacoGlobalData_t &gd)
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)
void setFabric(Fabrique *f)
void computeSend(const void *data, vAbstrait &vdarray, vector< unsigned > &destid)
Compute communication schedule on the client side.
const PaCO::distLoc_t & getMode() const
PaCO::PacoGlobalData_t _gd
PaCO::PacoTopology_t _srvtopo
unsigned posofPart(const PaCO::distLoc_t &mode, const unsigned dtotal, const unsigned srank)
bool setClientConfiguration(const PaCO::PacoTopology_t &ctopo)
bool setMode(const PaCO::distLoc_t mode)