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@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@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@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@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@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

Reply via email to