
Hello everybody, I have a question related to performance optimization using Boost. I found this link http://www.boost.org/doc/libs/1_41_0/doc/html/mpi/performance.html <http://www.boost.org/doc/libs/1_41_0/doc/html/mpi/performance.html> and trying to figure out which curve (on the graph in the link) represents the communication of std::vector<int> and std::vector<double>? Is communication using std::vector<int> and std::vector<double> optimized (is_mpi_datatype) or not? So I use "boost_mpi" and "boost_serialization" libraries. I include the header "#include <boost/serialization/vector.hpp>" in my code. Then I send directly std::vector<int> and std::vector<double> using "world.send(...) " and world.recv(...)" calls. I fill the vector with some values (for example I fill ten values) and I get the same ten values on other side of processor boundary. This thing works but I want to improve communication performance. I found out in this link http://www.boost.org/doc/libs/1_57_0/doc/html/mpi/tutorial.html under section "User-defined data types" that "Fixed data types can be optimized for transmission using the is_mpi_datatype type trait. ". Also I studied the information on http://www.boost.org/doc/libs/1_57_0/doc/html/mpi/tutorial.html#mpi.performa.... Also this link http://www.boost.org/doc/libs/1_46_1/libs/serialization/doc/wrappers.html#ar... shows that std::vector<> are optimized for serialization. I am now confused that sending std::vector<> like this is good for performance optimization or not? What other better methods are available? Is something like this http://www.boost.org/doc/libs/1_57_0/doc/html/mpi/tutorial.html#mpi.skeleton... a good option? Best Regards, Salman Arshad -- View this message in context: http://boost.2283326.n4.nabble.com/Performance-optimization-in-Boost-using-s... Sent from the Boost - Users mailing list archive at Nabble.com.