There a re simpler solutions to achieve this. We have a built-in mechanism to select a specific collective implementation. Here is what you have to add in your .openmpi/mca-params.conf (or as MCA argument on the command line):
coll_tuned_use_dynamic_rules = 1
coll_tuned_bcast_algorithm = 6
The first one activate the dynamic selection of collective algorithms, while the second one force all broadcast to be of the type 6 (binomial tree). Btw, once you set the first one, do a quick "ompi_info --param coll tuned" to see the list of all possible options for the collective algorithm selection.
On Apr 2, 2012, at 23:10 , roswan ismail wrote:
I am Roswan Ismail from Malaysia. I am focusing on MPI
communication performance on quad-core cluster at my university. I used Open
MPI-1.4.3 and measurements were done using scampi benchmark.
As I know, open MPI used multiple algorithms to broadcast
data (MPI_BCAST) such as binomial, pipeline, binary tree, basic linear and
split binary tree. All these algorithms will be used based on message size and
communicator size. For example, binomial is used when message size to be
broadcasted is small while pipeline used for broadcasting a large message.
What I want to do now is, to use fixed algorithm i.e
binomial for all message size. I want to see and compare the results with the
default results. So, I was modified coll_tuned_decision_fixed.c which is
located in open mpi-1.4.3/ompi/mca/coll/tuned by returning binomial algorithm
for all condition. Then I recompile the files but the problem is, the results
obtained is same as default. It seems I do not do any changes to the codes.
So could you guys tell me the right way to do that.
Roswan Binti Ismail,
Univ. Pend. Sultan Idris,
Tg Malim, Perak.
devel mailing list