On Apr 18, 2012, at 3:15 AM, Peter Sels wrote: > I suppose with C++ MPI it's possible to enforce more strict type > checking using template or so.)
Not really, unfortunately. :-( The idea is to be able to send *anything* through the (void*) choice buffer designation -- that includes even sending a pointer address if you want to. We also wouldn't want to restrict the choice buffer to known/pre-defined data types, because then you couldn't send user-defined structs and the like. The Forum also explicitly rejected enforcing hierarchy (a la Java, where every sendable item must be derived from a common ancestor). For example, it may actually be *useful* to send a pointer address via MPI_SEND. Granted, a pointer address is usually only valid locally, but: - maybe you're sending a pointer address to a shared memory location, and it could be valid in another remote process - maybe you're sending a pointer address so that it can be echoed back to you later (e.g., as a context) - ... -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/