Open MPI logo

PLPA Users' Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all PLPA Users mailing list

From: Bert Wesarg (wesarg_at_[hidden])
Date: 2007-04-22 05:44:27


Hello,

Jeff Squyres wrote:
> On Apr 21, 2007, at 12:42 PM, Bert Wesarg wrote:
>
>> this sounds really great, and the tuple thing should be vary handy.
>> But what I miss is the NUMA nodes and SMT (aka hyper threading)
>> topology
>> information. To parse such a beast (aka quadruple, or maybe triple)
>> is one
>> thing but for portability and usability would be even greater.
>
> I'm not sure what you mean -- can you give a concrete example?

For the SMT level, its just an extension to a triple: (socket, core, thread).
Examples:
  - binding to all sockets and cores, but only one thread per core
     => 'disable' SMT
  - ...

I don't know exactly how the exported information look, but in the
cpuX/topology/ dirs are two more files (quote from
Docomentation/cputopology.txt):

> 3) /sys/devices/system/cpu/cpuX/topology/thread_siblings:
> represent the thread siblings to cpu X in the same core;
> 4) /sys/devices/system/cpu/cpuX/topology/core_siblings:
> represent the thread siblings to cpu X in the same physical package;

Most of the NUMA stuff is handled by the libnuma, as you possibly know.

But here are some examples:
  - binding to all sockets, cores, and threads on node X
     => no internode memory traffic (with mempolicy local)
  - binding to one socket per node

The NUMA topology can be retrieved by inspecting the
/sys/devices/system/node/nodeX dirs.

Bert