Hi folks

For those of you who don't follow the commits...

I just committed (r25323) an extension of the orte_ess.proc_get_locality 
function that allows a process to get its relative resource usage with any 
other proc in the job. In other words, you can provide a process name to the 
function, and the returned bitmask tells you if you share a node, numa, socket, 
caches (by level), core, and hyperthread with that process.

If you are on the same node and unbound, of course, you share all of those. 
However, if you are bound, then this can help tell you if you are on a common 
numa node, sharing an L1 cache, etc. Might be handy.

I implemented the underlying functionality so that we can further extend it to 
tell you the relative resource location of two procs on a remote node. If that 
someday becomes of interest, it would be relatively easy to do - but would 
require passing more info around. Hence, I've allowed for it, but not 
implemented it until there is some identified need.

Locality info is available anytime after the modex is completed during 
MPI_Init, and is supported regardless of launch environment (minus cnos, for 
now), launch by mpirun, or direct-launch - in other words, pretty much always.

Hope it proves of help in your work
Ralph


Reply via email to