On Tue, 2007-04-03 at 12:33 -0600, Ralph H Castain wrote: > > > On 4/3/07 9:32 AM, "Li-Ta Lo" <ol...@lanl.gov> wrote: > > > On Sun, 2007-04-01 at 13:12 -0600, Ralph Castain wrote: > > > >> > >> 2. I'm not sure what you mean by mapping MPI processes to "physical" > >> processes, but I assume you mean how do we assign MPI ranks to processes on > >> specific nodes. You will find that done in the orte/mca/rmaps framework. We > >> currently only have one component in that framework - the round-robin > >> implementation - that maps either by slot or by node, as indicated by the > >> user. That code is fairly heavily commented, so you hopefully can > >> understand > >> what it is doing. > >> > > > > How does this work in a multi-core environment? the optimal way may be > > putting processes on every other "slot" on a two cores system? > > Well, that's a good question. At the moment, the only environments where we > encounter multiple cores treat each core as a separate "slot" when they > assign resources. We don't currently provide an option that says "map by > two", so the only way to do what you describe would be to manually specify > the mapping, slot by slot. >
I also don't understand how Paffinity work for this case. When orted launch N processes on a node, does it have control on how those processes are started and mapped to the core/processor? Or is it the case that O.S. puts the process on whatever cores it picks and the paffinity module will try to "pin" the process on the core (picked by O.S.)? > Not very pretty. > > If someone cares to suggest some alternative notation/option for requesting > that kind of mapping flexibility, I'm certainly willing to implement it (it > would be rather trivial to do "map by N", but might be more complicated if > you want other things). > What is the current syntax of the config file/command line? Can we do something like array index in those script languages e.g. [0:N:2]? Ollie