When a client sends a distributed argument, PaCO++ gives a pointer of
the data to the library with the setDataPtr method. See
section to know what is the pointer that PaCO++ gives
to the library. Then in each node, PaCO++ calls
computePiecesToSend. This method returns a line of the
communication matrix. A PieceToSend is a structure that contains for
each piece the client node, the server node, the size of the piece in
octet and an id (pid for piece id) that is passed when actually PaCO++
will get the piece. After PaCO++ will call getClientData to
get a piece or a part of a piece. If you want to sends a piece with
more than one part, you have to set the variable end to
false. At the end, PaCO++ will get the descriptor with the
getDescr method.
For each new data configuration, a new id is created. This feature permits to avoid the computation of the communication matrix. setComId and freeComId allow to save different configurations of the distributed data. PaCO++ PaCO++ will only call computePiecesToSend when a new configuration appears. In this beta version, these methods have to be implemented.