Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: [OMPI users] Redefine proc in cartesian topologies
From: Claudio Pastorino (claudio.pastorino_at_[hidden])
Date: 2012-03-01 13:57:59

Dear all,
I apologize in advance if this is not the right list to post this. I
am a newcomer and please let me know if I should be sending this to
another list.

I program MPI trying to do HPC parallel programs. In particular I
wrote a parallel code
for molecular dynamics simulations. The program splits the work in a
matrix of procs and
I send messages along rows and columns in an equal basis. I learnt
that the typical
arrangement of cartesian topology is not usually the best option,
because in a matrix, let's say of 4x4 procs with quad procs, the
procs are arranged so that
through columns one stays inside the same quad proc and through rows
you are always going out to the network. This means procs are
arranged as one quad per row.

I try to explain this for a 2x2 case. The cartesian topology does this
assignment, typically:
cartesian mpi_comm_world
0,0 --> 0
0,1 --> 1
1,0 --> 2
1,1 --> 3
The question is, how do I get a "user defined" assignment such as:
0,0 --> 0
0,1 --> 2
1,0 --> 1
1,1 --> 3


Thanks in advance and I hope to have made this more or less understandable.