Mm,

there is something wrong. I'm using two thread, the first one is bound on
HWLOC_OBJ_PU number 2, the second one on  HWLOC_OBJ_PU number 10,

and

hwloc_get_last_cpu_location() give me the same CPU index for each thread..

( machine is not SMT).

But from linux "top" command I see CPU 2 and 10 working, so bind has worked
well.

2011/8/10 Samuel Thibault <samuel.thiba...@inria.fr>

> Gabriele Fatigati, le Wed 10 Aug 2011 15:41:19 +0200, a écrit :
> > hwloc_cpuset_t set = hwloc_bitmap_alloc();
> >
> > int return_value = hwloc_get_last_cpu_location(topology, set,
> >  HWLOC_CPUBIND_THREAD);
> >
> > printf( " bitmap_string: %s \n", bitmap_string[0]);
> >
> > give me:
> >
> > 0x00000800
> >
> > converted in binary:
> >
> > 100000000000
> >
> > So, CPU 0 I suppose,
>
> Do you mean linear 0 or physical 0?
>
> cpusets are always physical, 0x800 means CPU with physical number 11.
>
> Samuel
> _______________________________________________
> hwloc-users mailing list
> hwloc-us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-users
>



-- 
Ing. Gabriele Fatigati

HPC specialist

SuperComputing Applications and Innovation Department

Via Magnanelli 6/3, Casalecchio di Reno (BO) Italy

www.cineca.it                    Tel:   +39 051 6171722

g.fatigati [AT] cineca.it

Reply via email to