The OnHostTopologyDescription is actually quite similar to the Locality Group API and MPO on Solaris:
http://www.opensolaris.org/os/community/performance/mpo_overview.pdf http://www.opensolaris.org/os/community/performance/numa/mpo_update.pdf And we have some discussions on the OpenSolaris forum, "NUMA and interconnect transfers": http://opensolaris.org/jive/thread.jspa?messageID=185268 Rayson On Jan 11, 2008 6:22 AM, Pak Lui <pak....@sun.com> wrote: > https://svn.open-mpi.org/trac/ompi/wiki/OnHostTopologyDescription > > > Rayson Ho wrote: > > Hello, > > > > I'm from the Sun Grid Engine (SGE) project ( > > http://gridengine.sunsource.net ). I am working on processor affinity > > support for SGE. > > > > In 2005, we had some discussions on the SGE mailing list with Jeff on > > this topic. As quad-core processors are available from AMD and Intel, > > and higher core count per socket is coming soon, I would like to see > > what we can do to come up with a simple interface for the SGE 6.2 > > release, which will be available in Q2 this year (or at least into an > > "update" release of SGE6.2 if we couldn't get the changes in on time). > > > > The discussions we had before: > > http://gridengine.sunsource.net/servlets/BrowseList?list=dev&by=thread&from=7081 > > http://gridengine.sunsource.net/servlets/BrowseList?list=dev&by=thread&from=4803 > > > > I looked at the SGE code, the simplest we can do is to set an > > environment variable to tell the task group the processor mask of the > > node before we start each task group. Is it good enough for OpenMPI?? > > > > After reading the OpenMPI code, I believe what we need to do is that > > in ompi/runtime/ompi_mpi_init.c , we need to add an else case: > > > > if (ompi_mpi_paffinity_alone) { > > ... > > } > > else > > { > > // get processor affinity information from batch system via the env var > > ... > > } > >