next up previous contents
Next: Server part Up: Library interface Previous: Common part   Contents

Client part

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.

Figure: Client side abstract interface
\begin{figure}\begin{verbatimtab}
virtual bool setComId(long id) { return false...
...* getDescr() = 0;
virtual void clientFree() = 0;
\end{verbatimtab}
\end{figure}


next up previous contents
Next: Server part Up: Library interface Previous: Common part   Contents
2013-04-10