Den 2010-01-16 16:31:24 skrev Roman Martonak <r.marto...@gmail.com>:

Terribly sorry, I should checked my own notes thoroughly before giving
others advice. One needs to give the dynamic rules file location on the
command line:

mpirun -mca coll_tuned_use_dynamic_rules 1 -mca
coll_tuned_dynamic_rules_filename /homeXXXX/.openmpi/dynamic_rules_file

That works for me with openmpi 1.4. I have not tried 1.4.1 yet.

Thanks, I will try it. VASP uses cartesian topology communicators.
Should the dynamic
rules work also for this case in openmpi-1.4 ? In openmpi-1.3.2 and
previous versions
the dynamic rules specified via a dynamic rules file had no effect at
all for VASP.

I just tried alltoall with a communicator I created that uses half the slots with 256 bytes message size. The fixed rules uses bruck for messages smaller than 200 bytes on (I think) 12 processes and up. So my test should never use bruck. On 512 cores (using 256 for the comm) the fixed rules take about 10 ms / alltoall. Using the dynamic rules file forcing bruck makes it take about 1 ms / alltoall, so 10 times quicker. So, yes it seems that other communicators than MPI_COMM_WORLD are affected by the dynamics rule file.

My communicator:

  MPI_Comm_group(MPI_COMM_WORLD,&world_group);
  MPI_Comm_size(MPI_COMM_WORLD,&size);
  MPI_Comm_rank(MPI_COMM_WORLD,&rank);
  ranges[0][0]=0;
  ranges[0][1]=size-2;
  ranges[0][2]=2;
  MPI_Group_range_incl(world_group,1,ranges,&half_group);
  MPI_Comm_create(MPI_COMM_WORLD,half_group,&half_comm);

HTH
--
Daniel Spångberg
Materialkemi
Uppsala Universitet

Reply via email to