Gabriele Fatigati, le Thu 04 Aug 2011 16:35:36 +0200, a écrit :
> so physical OS index 0 and 1 are not true are physically near on the die.

They quite often aren't. See the updated glossary of the documentation:

"The index that the operating system (OS) uses to identify the object.
This may be completely arbitrary, non-unique, non-contiguous, not
representative of proximity, and may depend on the BIOS configuration."

> Considering that, how I can use cache locality and cache sharing by cores if I
> don't know where my threads will physically bound?

By using logical indexes, not physical indexes. And almost all hwloc
functions use logical indexes, not physical indexes.

> If L#0 and L#1  where I bind my threads are physically far, may give me bad
> performance.

L#0 and L#1 are physically near, that's precisely the whole point of
hwloc: it provides you with *logical* indexes which express proximity,
instead of the P#0 and P#1 physical/OS indexes, which are quite often
simply arbitrary.

Samuel

Reply via email to