What about doing something for POD data stored in STL
containers that uses iterators? Something along the lines
of (a simple p2p example)
std::vector<double> a;
a.reserve(1024);
//
// put stuff into a
//...
if (sender)
mpicxx::send_stl_foo(a.begin(), a.end(), /* more args */);
else
mpicxx::recv_stl_foo(std::back_inserter(a), /* more args */);
The intention would to enable sending POD data stored in STL
containers without having to copy them. As a starter what
is needed is that the MPI calls internally make use of
operations that are consistent with the relevant iterator
traits (output and input). Most certainly there would be
other implications, but I'm sure there would be quite a bit
of interest for something like this...
--
Regards,
Fredrik Hedman
|