Yes of course:

char*bitmap_string[256];

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, but is not where i bound my thread .. :(



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

> Gabriele Fatigati, le Wed 10 Aug 2011 15:29:43 +0200, a écrit :
> > hwloc_obj_t core = hwloc_get_obj_by_type(topology, HWLOC_OBJ_MACHINE, 0);
> >
> > int return_value = hwloc_get_last_cpu_location(topology, core->cpuset,
> > HWLOC_CPUBIND_THREAD);
> >
> > and now in "core->cpuset" I get the new cpuset bitmap, where
> process/threads
> > runs. Is it right?
>
> Err, yes, but why using core->cpuset?? Giving it as parameter to
> hwloc_get_last_cpu_location will only overwrite its content with the
> content returned by hwloc_get_last_cpu_location (which is forbidden, see
> the documentation of the cpuset field).
>
> 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