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 " 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.