Are you talking about logical ids (the one given by hwloc) or physical/OS ids (the one given by the OS and possibly in strange order) ? You should avoid using physical ids, but...

If logical, you can hwloc_get_obj_by_type() to get the corresponding object, then use its ->cpuset.

If physical, you just need a cpuset that contains the bit corresponding to this id. You can use hwloc_bitmap_only(set, <id>) to reset a (previously allocated) cpuset to nothing but this id.


Le 18/08/2011 10:10, PULVERAIL Sébastien a écrit :



I’m looking for a function that allows to bind the current thread to a specific cpu given by its id.


I found the function hwloc_set_thread_cpubind to bind a thread to a cpuset.

I also found the function hwloc_bitmap_singlify to keep only one index in the cpuset.

But I didn’t found anything to only keep the cpu I need in my cpuset…

Is it possible ?


Best regards



Sébastien Pulvérail | Sogeti High Tech

Phone +33 (0) 5 34 46 92 98 | Mobile +33 (0) 6 84 44 73 26


3 Chemin de Laporte | Bât. AEROPARK | 31300 Toulouse | France /


logo_signature_email_Sogeti High Tech


P Please consider the environment before printing !


_______________________________________________ hwloc-users mailing list