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 17:47:20


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?

I think that was mine thinking error. The current one to one mapping
between the processor id and the (socket, core) tuple is perfectly fine.
What I mean with the NUMA node id, is to add the node id as an attribute
to the processor_id. That can be queried by the api. But to support SMT,
it would be necessary to extend it to a (socket,core,thread) tuple.

I have implement the node attribute and changed/extended the API as follow:

/* node_id can be NULL */
int PLPA_NAME(map_to_processor_id)
    (int socket, int core, int *processor_id, int *node_id);

/* this name is not perfect, node_id is a attribute of processor_id */
int PLPA_NAME(map_to_node_id)(int processor_id, int *node_id);

int PLPA_NAME(max_node_id)(int *max_node_id);

The one think that is maybe missing is a function to query the number of
sockets in a NUMA node.

If you wich I can make a patch and post it.

Bert Wesarg