
Matthias Troyer wrote:
On 27 Aug 2010, at 22:26, Robert Ramey wrote:
hmm - what about tracked objects? I suggested turning off tracking and Matthias told me that it was needed to send pointers. But for this to work an archive has to be reconstructed everytime to re-initialize the tracking lists. I don't want to spend a lot of time on this as that means I have to delve into the MPI serialization and I don't want to do this.
The typical use case is that the pointer structure is built once, and then only the values of arrays and other data members needs to be updated by communication. The "skeleton" creates all the objects and sets the pointers, and is sent only once, and thereafter only the "contents" is transmitted.
So tracking is effectively turned off by this archive implemenation. Which makes sense to me from a practical standpoint. But it does make things harder to understand. To be fair, the other archive classes each have their own implemention quirks which are more or less ad hoc. Hopefully one day we can rationalize this to some extent.
Matthias