Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] How is hwloc used by OpenMPI
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2012-11-07 15:26:17


On Nov 7, 2012, at 1:33 PM, Blosch, Edwin L wrote:

> I see hwloc is a subproject hosted under OpenMPI but, in reading the documentation, I was unable to figure out if hwloc is a module within OpenMPI, or if some of the code base is borrowed into OpenMPI, or something else. Is hwloc used by OpenMPI internally? Is it a layer above libnuma? Or is it just a project that is useful to OpenMPI in support of targeting various new platforms?

Open MPI uses hwloc internally for three main things:

1. all of the processor affinity options to mpirun (e.g., --bind-to-core)
2. all its internal memory affinity functionality
3. gather topology information about the machine it's running on

#3 isn't used too heavily yet -- that will be more developed over time (shared memory collectives have some obvious applications here). But we use it to know if processes are in the same NUMA domain, which OpenFabrics devices are "near" to a given process' NUMA domain, etc.

But hwloc also stands alone quite well; it actually has nothing to do with MPI. So it made sense to keep it as a standalone library+tool suite, too.

-- 
Jeff Squyres
jsquyres_at_[hidden]
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/