Open MPI logo

Hardware Locality Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Hardware Locality Development mailing list

Subject: Re: [hwloc-devel] How to get information about hwloc objects?
From: Jirka Hladky (jhladky_at_[hidden])
Date: 2010-07-07 06:37:16


Hi Brice,

I have tested the patch and I have verified that

===================================
./hwloc-calc --list numanode proc:32
./hwloc-calc --list socket proc:63
./hwloc-calc --list core proc:63
===================================

is working as expected. Thanks a lot!

I have also tested depth argument for --list. (BTW, what has happened with
hwloc-info? I cannot find it anymore. Is there some replacement?)

===========================================
[root_at_intel-sunriseridge-02 utils]# hwloc-info (version 1.0.1!!!)
depth 0: 1 Machine (type #1)
 depth 1: 3 NUMANodes (type #2)
  depth 2: 4 Sockets (type #3)
   depth 3: 4 Caches (type #4)
    depth 4: 32 Caches (type #4)
     depth 5: 32 Caches (type #4)
      depth 6: 32 Cores (type #5)
       depth 7: 64 PUs (type #6)

Latest and patched version of hwloc:

[root_at_intel-sunriseridge-02 utils]# ./hwloc-calc -v --list 4 proc:60
object #60 depth 7 below cpuset 0xffffffff,0xffffffff found
adding 0x08000000 to 0x0
adding 0x08000000 to 0x0
30
[root_at_intel-sunriseridge-02 utils]# ./hwloc-calc -v --list 5 proc:60
object #60 depth 7 below cpuset 0xffffffff,0xffffffff found
adding 0x08000000 to 0x0
adding 0x08000000 to 0x0
30
[root_at_intel-sunriseridge-02 utils]# ./hwloc-calc -v --list 6 proc:60
object #60 depth 7 below cpuset 0xffffffff,0xffffffff found
adding 0x08000000 to 0x0
adding 0x08000000 to 0x0
30
=============================================

It works! :-) Just one question: I would expect Cache to be reported as well.
At level 4-6 it reports Core #. Any comment on this?

I have also tried --objects and it's behavior differ on different boxes:
**************************************************************************
=============Intel(R) Core(TM)2 Duo CPU=============
$./lstopo -
Machine (1952MB) + Socket #0 + L2 #0 (6144KB)
  L1 #0 (32KB) + Core #0 + PU #0 (phys=0)
  L1 #1 (32KB) + Core #1 + PU #1 (phys=1)

$./hwloc-calc --objects proc:0
L1Cache:0

$./hwloc-calc --objects core:0
L1Cache:0

$./hwloc-calc --objects socket:0
Machine:0

$./hwloc-calc --objects numanode:0
Machine:0

$./hwloc-calc --objects machine:0
Machine:0

================== NEHALEM box =================
[root_at_intel-sunriseridge-02 utils]# ./lstopo -
Machine (6042MB)
  NUMANode #0 (phys=0 1946MB)
    Socket #0 + L3 #0 (24MB)
      L2 #0 (256KB) + L1 #0 (32KB) + Core #0
        PU #0 (phys=0)
        PU #1 (phys=32)
      L2 #1 (256KB) + L1 #1 (32KB) + Core #1
        PU #2 (phys=4)
        PU #3 (phys=36)
........ (stripped)

./hwloc-calc --objects proc:0
PU:0
./hwloc-calc --objects socket:0
Socket:0
./hwloc-calc --objects node:0
NUMANode:0
./hwloc-calc --objects machine:0
Machine:0
==============================================
*************************************************************************************

On Nehalem the output seems to be strange and I would say it's wrong. On the
other hand, on Core2 Duo the output is right and useful.

> > hwloc-calc --nodelist --physical proc:0
> >
> > => gives nothing back on systems without NUMA. I would expect some
> > sort of error message on stderr.
> >
> > hwloc-calc --nodelist --physical proc:120
> >
> > =>gives nothing back. On that system, there is NUMA but only 64
> > processors. I would expect error message "proc:120 does not exist"
> > reported on stderr.
>
> Those errors are only reported when -v is given (as well as other
> verbose messages). You're right, we should always show them.
Yes, you are right, -v works.

Error handling (without -v) has been improved in case that NUMA does not exist
at all.
$hwloc-calc --list numanode --physical proc:0
unavailable list type NUMANode

You will still get no error mesage when you specify wrong processor which does
not exist.
>
> Brice

BTW, you have added quite few new options:-) Any plans to release them?

Thanks a lot!
Jirka