On Apr 24, 2012, at 3:33 PM, Tom Rosmond wrote:
> Yes, I would be interested in such a plugin. But be advised that I am
> strictly a fortran programmer, so if it requires any C/C++ talent, I
> would be in trouble. So maybe, before jumping into that, I would like
> to be able to look at what processor/node mapping Open-mpi is actually
> giving me.
Cool. Yes, there is some C stuff you would need to know. Basically, our components must adhere to a C API. That being said, if you really wanted to, your algorithm could be written in Fortran below that. :-)
Supplying you with a skeleton topo component with a /* Fill in your algorithm here */ section probably would not be too difficult.
One caveat here, though: the topo plugins have the following interface for v1.5/v1.6:
But they're going to change for v1.7/v1.8 to this (this hasn't been merged to our SVN trunk yet, but it will be):
The differences are minor, but non-zero.
> Is there an environmental variable or an MCA option I can
> add to my 'mpirun' command line that would give that to me? I am
> running 1.5.4.
Ralph pointed you to the --display-map mpirun option there.
Note that there's two levels of things going on here:
1. How OMPI's mpirun lays out your processes
2. How MPI_CART_CREATE re-arranges the ranks in the newly-created communicator
The topo component that I'm talking about is only involved in #2.
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/