On Wed, 13 Feb 2013, Roy Stogner wrote:
On Wed, 13 Feb 2013, Kirk, Benjamin (JSC-EG311) wrote:Communicator::set_union std::map<T1,T2> &data) … at line 1824 of parallel_implementation.h You can broadcast the parallelized boundary names simply by calling this guy, and implementing whatever may be needed for your std::string.Can this work?
After some thought, I can answer my own question: "yes, but not quite yet". For containers which aren't contiguous blocks of memory, we have to pack things up into contiguous blocks for MPI already. Rather than having separate types of code to do this for fixed-width and variable-width types, we could easily just use the variable-width case all the time, with some simple compile-time metaprogramming tricks to define "pack", "unpack", etc. for any objects which already have a Parallel::StandardType<T> specialization. But "not quite yet" might be an understatement; even if this conversation suckers me into doing the pair/string packing quickly, getting it to work with the originally fixed-size-only APIs would be a longer-term challenge. --- Roy
------------------------------------------------------------------------------ Free Next-Gen Firewall Hardware Offer Buy your Sophos next-gen firewall before the end March 2013 and get the hardware for free! Learn more. http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________ Libmesh-devel mailing list Libmesh-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-devel