
hello again
i wrote my code for sending one object from rank 0 to rank 1 process sing
boost.mpi because it is very simple.
it worked when sending a string just like in the documentation,
however when i sent the object i showed earlier i am getting errors.
terminate called after throwing an instance of
'boost::archive::archive_
exception'
what(): class version St8multimapIiiSt4lessIiESaISt4pairIKiiEEE
[lenovo00:06116] *** Process received signal ***
[lenovo00:06116] Signal: Aborted (6)
[lenovo00:06116] Signal code: (-6)
[lenovo00:06116] [ 0] [0x71f410]
[lenovo00:06116] [ 1] /lib/tls/i686/cmov/libc.so.6(abort+0x182) [0x74da82]
[lenovo00:06116] [ 2]
/usr/lib/libstdc++.so.6(_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x14f)
[0x4da52f]
[lenovo00:06116] [ 3] /usr/lib/libstdc++.so.6(+0xbd465) [0x4d8465]
[lenovo00:06116] [ 4] /usr/lib/libstdc++.so.6(+0xbd4a2) [0x4d84a2]
[lenovo00:06116] [ 5] /usr/lib/libstdc++.so.6(+0xbd5e1) [0x4d85e1]
[lenovo00:06116] [ 6]
bin/release/plattice(_ZN5boost13serialization15throw_exceptionINS_7archive17archive_exceptionEEEvRKT_+0x3e)
[0x80ee491]
...
...
...
says something about multimap type error and other
things. if i remove the multimap attribute from the serialization method i
get another
error, and if i comment almost everything and only keep 2 integers
(numNodes numEdges) for testing... the receiving object has different values
on
those integers.
this can be a problem of the internal serializing which uses
packed_oarchive/iarchive instead of the binary_oarchive/iarchive i was
testing earlier when it worked??
any indication is welcome if you need more debugging information i can
provide
Cristobal http://www.youtube.com/neoideo
On Sat, Aug 28, 2010 at 3:11 PM, Matthias Troyer
On 28 Aug 2010, at 18:36, Jeff Flinn wrote:
BoostPro Computing, http://boostpro.com Sent from coveted but awkward mobile device -- On Aug 28, 2010, at 6:15 AM, Jeff Flinn
wrote: So what happens if the some data member that is a base class pointer gets modified to point to some other instance of a derived class? Doesn't
Dave Abrahams wrote: that change the 'structure'?
Yes of course. However, many MPI applications never need to do that.
No doubt many don't. I'm just trying to gain a better understanding of boost.mpi and provide some of that feedback you asked for else thread. :-)
Does MPI detect those changes automatically resending the skeleton information as required? Or does the user code need to explicitly manage such situations? Or does this disallow usage of the skeleton approach altogether in these situations.
The user code needs to explicitly manage this, and if your code typically changes the structure, then I recommend to just use the normal send and recv mechanism which sends the whole object.
Matthias
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users