Open MPI logo

PLPA Users' Mailing List Archives

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

Subject: Re: [PLPA users] sched.h conflict
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2009-12-09 14:57:20


On Dec 9, 2009, at 11:55 AM, Mehmet Belgin wrote:

> This is interesting... I wrote codes that use PLPA and I include these three headers in following order:
>
> #include <pthread.h>
> #include <sched.h>
> #include "plpa.h"
>
> and got no problems compiling at all. I use PLPA 1.3 and gcc 4.3.2 on Linux.
>
> I looked deeper in the plpa.h and saw that it actually renames "cpu_set_t" to "plpa_cpu_set_t" using the PLPA_NAME() macro. plpa.h line 116 reads:
>
> typedef struct { PLPA_NAME(bitmask_t) bitmask[PLPA_BITMASK_NUM_ELEMENTS]; } PLPA_NAME(cpu_set_t);

Ah -- yes -- good point; those symbols should get renamed if you're using a prefix.

> A note to Jeff and all other HWLOC developers: hwloc is a dream came true, thank you for your great work! I particularly enjoyed the lstopo utility and the ability to drill down in memory hierarchies at runtime!! (could we do that with PLPA? Maybe but I am not sure).

No, you can't do that with PLPA. Such features were on the logical progression / eventual roadmap for PLPA, but they hadn't ever materialized. Hence, merging with the libtopology folks seemed to be the best option.

> Hwloc helped me realize the interleaved processor enumeration on NUMA architectures (0-2-4-6 goes on socket 0, for example). Looks like I was using an incorrect CPU affinity before, which hurts the performance a lot. Way to go guys!

Woo hoo! :-)

-- 
Jeff Squyres
jsquyres_at_[hidden]