I just committed a new "maffinity" (memory affinity) framework with only a single, trivial component right now. It's API is still changing a bit, but it's getting there.

Right now, memory affinity is automatically enabled during ompi_mpi_init() (*not* automatically during opal_init()) if processor affinity is both enabled and successful in biinding the process to a processor. Nothing really uses the memory affinity yet except my un-committed shared memory collectives, but the API/components will likely be expanded in the near future to hint to the OS that all malloc's should return local memory, etc.

Thanks to Troy for pointing out the libnuma project (out of the SUSE Labs) that is usable on any NUMA machine (e.g., Opterons -- I'm asking to have it installed on the Odin IU cluster). I'll be making a maffinity component for that as well.

--
{+} Jeff Squyres
{+} The Open MPI Project
{+} http://www.open-mpi.org/

Reply via email to