Open MPI logo

Hardware Locality Users' Mailing List Archives

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

Subject: Re: [hwloc-users] Bind current thread to a specific cpu
From: PULVERAIL Sébastien (sebastien.pulverail_at_[hidden])
Date: 2011-08-18 05:48:12

I use logical ids, so I do this :


                hwloc_obj_t cpu = hwloc_get_obj_by_type(topology,

                int err = hwloc_set_cpubind(topology, cpu->cpuset,


Is it correct ?

De : hwloc-users-bounces_at_[hidden]
[mailto:hwloc-users-bounces_at_[hidden]] De la part de Brice Goglin
Envoyé : jeudi 18 août 2011 10:25
À : Hardware locality user list
Objet : Re: [hwloc-users] Bind current thread to a specific cpu
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 ? 
hwloc-users mailing list