Open MPI logo

Hardware Locality Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |  

This web mail archive is frozen.

This page is part of a frozen web archive of this mailing list.

You can still navigate around this archive, but know that no new mails have been added to it since July of 2016.

Click here to be taken to the new web archives of this list; it includes all the mails that are in this frozen archive plus all new mails that have been sent to the list since it was migrated to the new archives.

Subject: Re: [hwloc-devel] hwloc-bind syntax
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2009-12-03 20:32:41


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).

Exxxcellent.

> I don't think we've had any contact with other SSI projects.

K.

> > Perhaps hwloc CLI tools should be able to show/accept *both* kinds of indexing...? E.g.:
> >
> > lstopo --physical
> > lstopo --logical
>
> Agreed.
>
> > 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.

Ok.

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?

-- 
Jeff Squyres
jsquyres_at_[hidden]