[hwloc-devel] Create success (hwloc r1.1a1r2491)

2010-09-22 Thread MPI Team
Creating nightly hwloc snapshot SVN tarball was a success.

Snapshot:   hwloc 1.1a1r2491
Start time: Wed Sep 22 21:01:04 EDT 2010
End time:   Wed Sep 22 21:03:14 EDT 2010

Your friendly daemon,
Cyrador


Re: [hwloc-devel] roadmap

2010-09-22 Thread Samuel Thibault
Jeff Squyres, le Wed 22 Sep 2010 13:37:12 +0200, a écrit :
> I think we should support memory binding, even if it does weird things -- 
> i.e., dropping membinding support on a given OS shouldn't be an option.

That's why I'd tend to keep set_cpubind and set_membind, warning that
one may have impact on the other, providing a flag for those who really
care, and a binding guideline for normal users.

> And/or have an "atomic"-like function that sets the memory binding and 
> returns the process memory binding? 

I'm not sure to understand what this means.

> It would be good to put a sunset date or version on when hwloc_cpuset_foo 
> will expire (e.g., 6 months from now or two major revisions form now [1.3] -- 
> whichever comes last...?).

Ok.

> I'd also prefer a typedef than a #define for types (vs. a #define).

Sure.

Samuel


Re: [hwloc-devel] roadmap

2010-09-22 Thread Brice Goglin
Le 22/09/2010 16:30, Jeff Squyres a écrit :
> On Sep 22, 2010, at 8:09 AM, Brice Goglin wrote:
>
>   
>> hwloc_set_*? hwloc_objset* ? Anything better?
>>
>> hwloc_set_* might not be the best since we would have a hwloc_set_set()
>> function to set one bit :)
>> 
> Agreed.  Too bad, though -- I liked hwloc_set*.
>
> hwloc_group* (that seems kinda lame, though)
> hwloc_stuff* (hah)
> hwloc_bitmap*
>
> ?
>   

bitmap or bitmask would be acceptable to me.

>> By the way, hwloc_cpuset_cpu() and hwloc_cpuset_all_but_cpu() should be
>> renamed too. hwloc_set_onlyone() and hwloc_set_allbutone() maybe?
>> 
> How about just hwloc_set() which takes a single position parameter?  
> "onlyone" can be implied.
>   

In case you missed it: cpu() = zero() + set() and all_but_cpu() = fill()
+ clr()
Maybe just drop these?

Brice



Re: [hwloc-devel] roadmap

2010-09-22 Thread Jeff Squyres
On Sep 22, 2010, at 8:09 AM, Brice Goglin wrote:

> hwloc_set_*? hwloc_objset* ? Anything better?
> 
> hwloc_set_* might not be the best since we would have a hwloc_set_set()
> function to set one bit :)

Agreed.  Too bad, though -- I liked hwloc_set*.

hwloc_group* (that seems kinda lame, though)
hwloc_stuff* (hah)
hwloc_bitmap*

?

> By the way, hwloc_cpuset_cpu() and hwloc_cpuset_all_but_cpu() should be
> renamed too. hwloc_set_onlyone() and hwloc_set_allbutone() maybe?

How about just hwloc_set() which takes a single position parameter?  "onlyone" 
can be implied.

-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/




Re: [hwloc-devel] roadmap

2010-09-22 Thread Samuel Thibault
Brice Goglin, le Wed 22 Sep 2010 10:38:38 +0200, a écrit :
> * Some OS bind the process too when you bind memory.

Not for all kinds of memory bindings. For now, nothing that has been
commited does that, it's only the remaining TODOs. The bindings in
question are policy binding, i.e. not binding some given area or
explicitly allocating some given size.

>   + Add a flag such as HWLOC_MEMBIND_EVEN_IF_FAR_FROM_PROCESS

The length of the word tells me that won't be convenient :)

> so that the user can explicitly refuse memory binding if it may break
> process binding

>   + Drop hwloc_set_membind on these OSes and add a
> hwloc_set_cpumembind() to bind both

That's the solution I prefer most as it directly maps to existing OS
practice

>   + Make both process and memory binding do nothing if the STRICT flag
> is given. But I'd rather not play too much with this flag.

Yes. We should not put too vague semantic on this.

>   + Drop support for memory binding on these OS.

Not all support, just setting the policy.

>   + Drop these OS.

Nope :)

> * cpuset and nodeset structures are the same, they are both manipulated
> with hwloc_cpuset_foo functions. So maybe rename into hwloc_set_t and
> hwloc_set_foo functions. With #define and aliases to not break API/ABIs.

I'd say so.

Samuel


Re: [hwloc-devel] roadmap

2010-09-22 Thread Brice Goglin
Le 22/09/2010 13:36, Jeff Squyres a écrit :
> On Sep 22, 2010, at 4:38 AM, Brice Goglin wrote:
>
>   
>> There are still some problems to solve in the membind branch:
>> * Some OS bind the process too when you bind memory. I see the following
>> solutions:
>>  + Add a flag such as HWLOC_MEMBIND_EVEN_IF_FAR_FROM_PROCESS so that
>> the user can explicitly refuse memory binding if it may break process
>> binding
>>  + Drop hwloc_set_membind on these OSes and add a
>> hwloc_set_cpumembind() to bind both
>>  + Make both process and memory binding do nothing if the STRICT flag
>> is given. But I'd rather not play too much with this flag.
>>  + Drop support for memory binding on these OS.
>>  + Drop these OS.
>> 
> What OS's are you specifically referring to?
>   

IIRC, it was AIX and Solaris.

>  How about adding a query function that says what will happen for 
> hwloc_set_membind()

I like it, we can put this in the output of hwloc_topology_get_support.

I wonder if there are some other cases where the STRICT flag could be
dropped in favor of such an informative stuff.


> Just curious -- on these OS's, what happens if you:
>
> - bind proc to A
> - bind memory to B (which then also re-binds proc to B)
> - re-bind proc to A
>
> Is the memory binding then lost?
>   

I'll let Samuel comment on this.

>> * cpuset and nodeset structures are the same, they are both manipulated
>> with hwloc_cpuset_foo functions. So maybe rename into hwloc_set_t and
>> hwloc_set_foo functions. With #define and aliases to not break API/ABIs.
>> 
> I'm in favor of this -- it would end the overloading of the term "cpuset" 
> between hwloc and cpuset.
>   

hwloc_set_*? hwloc_objset* ? Anything better?

hwloc_set_* might not be the best since we would have a hwloc_set_set()
function to set one bit :)

By the way, hwloc_cpuset_cpu() and hwloc_cpuset_all_but_cpu() should be
renamed too. hwloc_set_onlyone() and hwloc_set_allbutone() maybe?

Brice



[hwloc-devel] roadmap

2010-09-22 Thread Brice Goglin
Hello,

hwloc 1.0 was released in May. I think we should release 1.1 before
SC10, which means doing a first RC within a couple weeks.

trunk got many changes since 1.0, but nothing very important. trac says
we're missing memory binding, distances and user-defined process
restrictions. Memory binding is the most important one, it was supposed
to be in 1.0. I think we shouldn't defer 1.1 because of the others.

There are still some problems to solve in the membind branch:
* Some OS bind the process too when you bind memory. I see the following
solutions:
  + Add a flag such as HWLOC_MEMBIND_EVEN_IF_FAR_FROM_PROCESS so that
the user can explicitly refuse memory binding if it may break process
binding
  + Drop hwloc_set_membind on these OSes and add a
hwloc_set_cpumembind() to bind both
  + Make both process and memory binding do nothing if the STRICT flag
is given. But I'd rather not play too much with this flag.
  + Drop support for memory binding on these OS.
  + Drop these OS.
* cpuset and nodeset structures are the same, they are both manipulated
with hwloc_cpuset_foo functions. So maybe rename into hwloc_set_t and
hwloc_set_foo functions. With #define and aliases to not break API/ABIs.

Opinions ?
Brice



Re: [hwloc-devel] hwloc powerpc rhel5 and power7 patch

2010-09-22 Thread Alexey Kardashevskiy

On 21/09/10 19:34, Samuel Thibault wrote:

Just a last question: is it ok to include the /proc and /sys trees you
have posted in the hwloc testcases?

   


That's ok.