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