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: https://svn.open-mpi.org/trac/ompi/browser/branches/v1.6/ompi/mca/topo/topo.h 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): https://bitbucket.org/jsquyres/ompi-topo-fixes/src/tip/ompi/mca/topo/topo.h 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. -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/