On Dec 3, 2009, at 4:55 PM, Brice Goglin wrote:
[...snipped all that wasn't relevant to reply to...]
> > Has anyone contacted Penguin and/or XHPC (and/or any other SSI projects) to see if they care about being supported by hwloc?
> Your friends Joshua from Penguin is supposed to contact me back soon and
> we're supposed to talk about hwloc (and OMX).
> I don't think we've had any contact with other SSI projects.
> > Perhaps hwloc CLI tools should be able to show/accept *both* kinds of indexing...? E.g.:
> > lstopo --physical
> > lstopo --logical
> > hwloc-bind --physical ...
> > hwloc-bind --logical ...
> Maybe too, yeah.
I'll file a ticket about this.
I'll file another ticket to make the output of lstopo show values that can be used in the default input of hwloc-bind.
> > Ah, ok. To be clear, is it accurate to say that it is one of the following forms:
> > - a hex number (without leading "0x" -- would "0x" be ignored if it is supplied?)
> We never used 0x there.
It might be good to safely ignore 0x if it's present, but that's a small feature enhancement that can be done at any time (I filed a future ticket).
> We might want to drop the Linux "cpuset" word and use "cgroup" instead.
> Both are supported by Linux, but the latter now contains the former and
> more, so people are supposed to use cgroup now. hwloc supports both.
Linux is likely to be among the most popular target for hwloc -- so can you explain in good words definitions for the following:
- hwloc cpuset (or if "cgroup", if we're renaming it)
- Linux cpuset
- Linux cgroup
(I'm significantly adding to hwloc-bind.1 -- I'll tweak your words a bit and include them as explanation for exactly what we mean by hwloc cpuset/cgroup).
Additionally -- the word "father" is used in the docs. Should we use the gender-neutral "parent" instead?
> > Does it always need to start with system?
> You don't care about starting with system or something else. You can
> ignore the system level as you could ignore the socket level between
> nodes and cores.
> If you have 1 system with 2 nodes with 2 sockets each with 2 cores each,
> you get:
> node:1 core:2 is equivalent to system:0 node:1 socket:2 core:0 and
> equivalent to system:0 core:6
Did you mean:
node:1.core:2 == system:0.node:1.socket:2.core:0 == system:0.core:6
> But you cannot be that flexible with OS/physical indexes since multiple
> cores/sockets may have the same index.
What I meant by my question was -- aren't the 3 diagrams above equivalent to "core:6"? If so, what's the value of the foo.bar.baz notation? If the examples you provided above use hwloc logical numbering, then there's an exact 1-to-1 mapping of all of those -- so why type something longer than "core:6"?
However, if you use physical/OS numbering, you *have* to use foo.bar.baz notation because some of the numbers are the same (as I showed in my first mail -- where multiple cores had index "0"). So:
node:1.core:0 != node:2.core:0
I think that your point is thatthe foo.bar.baz syntax only have usefulness with physical/OS indexing? Correct?