Open MPI logo

Hardware Locality Users' Mailing List Archives

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

Subject: Re: [hwloc-users] Is OSX a supported platform ?
From: Olivier Cessenat (cessenat_at_[hidden])
Date: 2010-06-06 12:19:40


Hello Samuel,

First thanks for your very fast answer !
Then, here are the outputs of the commands as you asked.
Occasion for yet another question, when --enable-debug is set, is there
some way to remove the messages to stderr ?

Thanks.

Olivier.

$ sysctl hw
hw.ncpu: 2
hw.byteorder: 1234
hw.memsize: 1073741824
hw.activecpu: 2
hw.physicalcpu: 2
hw.physicalcpu_max: 2
hw.logicalcpu: 2
hw.logicalcpu_max: 2
hw.cputype: 7
hw.cpusubtype: 4
hw.cpufamily: 1114597871
hw.cacheconfig: 2 1 2 0 0 0 0 0 0 0
hw.pagesize: 4096
hw.busfrequency: 664000000
hw.busfrequency_min: 664000000
hw.busfrequency_max: 664000000
hw.cpufrequency: 2160000000
hw.cpufrequency_min: 2160000000
hw.cpufrequency_max: 2160000000
hw.cachelinesize: 64
hw.l1icachesize: 32768
hw.l1dcachesize: 32768
hw.l2cachesize: 4194304
hw.tbfrequency: 1000000000
hw.optional.floatingpoint: 1
hw.optional.mmx: 1
hw.optional.sse: 1
hw.optional.sse2: 1
hw.optional.sse3: 1
hw.optional.x86_64: 1
hw.optional.supplementalsse3: 1
hw.machine = i386
hw.model = iMac5,1
hw.ncpu = 2
hw.byteorder = 1234
hw.physmem = 1073741824
hw.usermem = 925937664
hw.pagesize = 4096
hw.epoch = 0
hw.vectorunit = 1
hw.busfrequency = 664000000
hw.cpufrequency = 2160000000
hw.cachelinesize = 64
hw.l1icachesize = 32768
hw.l1dcachesize = 32768
hw.l2settings = 1
hw.l2cachesize = 4194304
hw.tbfrequency = 1000000000
hw.memsize = 1073741824
hw.availcpu = 2

$ hwloc-ls
2 procs
caches 4294967298(0kB) 2(0kB)
1 cache levels
L1cache 0 has cpuset 0x00000003

 * CPU cpusets *

cpu 0 (os 0) has cpuset 0x00000001
cpu 1 (os 1) has cpuset 0x00000002
Machine#0 cpuset
0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff complete 0x00000003 online 0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff allowed 0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xfffffff
f,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff nodeset 0x0 completeN 0x0 allowedN 0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff,0xffffffff
  L1Cache#0(0KB) cpuset 0x00000003
    PU#0 cpuset 0x00000001
    PU#1 cpuset 0x00000002

Restrict topology cpusets to existing PU and NODE objects

Propagate offline and disallowed cpus down and up

Propagate nodesets
Machine#0 cpuset 0x00000003 complete 0x00000003 online 0x00000003
allowed 0x00000003
  L1Cache#0(0KB) cpuset 0x00000003 complete 0x00000003 online 0x00000003
allowed 0x00000003
    PU#0 cpuset 0x00000001 complete 0x00000001 online 0x00000001 allowed
0x00000001
    PU#1 cpuset 0x00000002 complete 0x00000002 online 0x00000002 allowed
0x00000002

Removing unauthorized and offline cpusets from all cpusets

Removing disallowed memory according to nodesets
Machine#0 cpuset 0x00000003 complete 0x00000003 online 0x00000003
allowed 0x00000003
  L1Cache#0(0KB) cpuset 0x00000003 complete 0x00000003 online 0x00000003
allowed 0x00000003
    PU#0 cpuset 0x00000001 complete 0x00000001 online 0x00000001 allowed
0x00000001
    PU#1 cpuset 0x00000002 complete 0x00000002 online 0x00000002 allowed
0x00000002

Removing ignored objects
Machine#0 cpuset 0x00000003 complete 0x00000003 online 0x00000003
allowed 0x00000003
  L1Cache#0(0KB) cpuset 0x00000003 complete 0x00000003 online 0x00000003
allowed 0x00000003
    PU#0 cpuset 0x00000001 complete 0x00000001 online 0x00000001 allowed
0x00000001
    PU#1 cpuset 0x00000002 complete 0x00000002 online 0x00000002 allowed
0x00000002

Removing empty objects except numa nodes and PCI devices
Machine#0 cpuset 0x00000003 complete 0x00000003 online 0x00000003
allowed 0x00000003
  L1Cache#0(0KB) cpuset 0x00000003 complete 0x00000003 online 0x00000003
allowed 0x00000003
    PU#0 cpuset 0x00000001 complete 0x00000001 online 0x00000001 allowed
0x00000001
    PU#1 cpuset 0x00000002 complete 0x00000002 online 0x00000002 allowed
0x00000002

Removing objects whose type has HWLOC_IGNORE_TYPE_KEEP_STRUCTURE and
have only one child or are the only child
Machine#0 cpuset 0x00000003 complete 0x00000003 online 0x00000003
allowed 0x00000003
  L1Cache#0(0KB) cpuset 0x00000003 complete 0x00000003 online 0x00000003
allowed 0x00000003
    PU#0 cpuset 0x00000001 complete 0x00000001 online 0x00000001 allowed
0x00000001
    PU#1 cpuset 0x00000002 complete 0x00000002 online 0x00000002 allowed
0x00000002

Ok, finished tweaking, now connect
Machine#0 cpuset 0x00000003 complete 0x00000003 online 0x00000003
allowed 0x00000003 arity 1
  L1Cache#0(0KB) cpuset 0x00000003 complete 0x00000003 online 0x00000003
allowed 0x00000003 arity 2
    PU#0 cpuset 0x00000001 complete 0x00000001 online 0x00000001 allowed
0x00000001
    PU#1 cpuset 0x00000002 complete 0x00000002 online 0x00000002 allowed
0x00000002
--- Cache level depth 1 has number 1

--- PU level has number 2

Propagate total memory up
Machine + L1 #0 (0KB)
  PU #0 (phys=0)
  PU #1 (phys=1)

Le dimanche 06 juin 2010 à 17:44 +0200, Samuel Thibault a écrit :
> Olivier Cessenat, le Sun 06 Jun 2010 17:37:23 +0200, a écrit :
> > I would like to get the cache sizes and hierachy;
> > hwloc-ls returns
> > <<
> > Machine + L1 #0 (0KB)
> > PU #0 (phys=0)
> > PU #1 (phys=1)
> > >>
> > which detects my dual core, but not the cache sizes, L2 and L1.
>
> This depends on what the OS says.
>
> > Is this an already known behaviour ?
>
> Could you run
>
> sysctl hw
>
> to check what the OS says? Also, please build with --enable-debug to
> enable the debugging output of hwloc.
>
> Samuel
> _______________________________________________
> hwloc-users mailing list
> hwloc-users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-users