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:

Hi all..
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.
Many thanks
Roswan Binti Ismail,
Univ. Pend. Sultan Idris,
Tg Malim, Perak.
Pej: 05-4505173
H/P: 0123588047
devel mailing list