hwlocality_object_sets.3 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. .TH "hwlocality_object_sets" 3 "Thu Sep 7 2023" "Version 2.9.3" "Hardware Locality (hwloc)" \" -*- nroff -*-
  2. .ad l
  3. .nh
  4. .SH NAME
  5. hwlocality_object_sets \- Object Sets (hwloc_cpuset_t and hwloc_nodeset_t)
  6. .SH SYNOPSIS
  7. .br
  8. .PP
  9. .SS "Typedefs"
  10. .in +1c
  11. .ti -1c
  12. .RI "typedef \fBhwloc_bitmap_t\fP \fBhwloc_cpuset_t\fP"
  13. .br
  14. .ti -1c
  15. .RI "typedef \fBhwloc_const_bitmap_t\fP \fBhwloc_const_cpuset_t\fP"
  16. .br
  17. .ti -1c
  18. .RI "typedef \fBhwloc_bitmap_t\fP \fBhwloc_nodeset_t\fP"
  19. .br
  20. .ti -1c
  21. .RI "typedef \fBhwloc_const_bitmap_t\fP \fBhwloc_const_nodeset_t\fP"
  22. .br
  23. .in -1c
  24. .SH "Detailed Description"
  25. .PP
  26. Hwloc uses bitmaps to represent two distinct kinds of object sets: CPU sets (\fBhwloc_cpuset_t\fP) and NUMA node sets (\fBhwloc_nodeset_t\fP)\&. These types are both typedefs to a common back end type (\fBhwloc_bitmap_t\fP), and therefore all the hwloc bitmap functions are applicable to both \fBhwloc_cpuset_t\fP and \fBhwloc_nodeset_t\fP (see \fBThe bitmap API\fP)\&.
  27. .PP
  28. The rationale for having two different types is that even though the actions one wants to perform on these types are the same (e\&.g\&., enable and disable individual items in the set/mask), they're used in very different contexts: one for specifying which processors to use and one for specifying which NUMA nodes to use\&. Hence, the name difference is really just to reflect the intent of where the type is used\&.
  29. .SH "Typedef Documentation"
  30. .PP
  31. .SS "typedef \fBhwloc_const_bitmap_t\fP \fBhwloc_const_cpuset_t\fP"
  32. .PP
  33. A non-modifiable \fBhwloc_cpuset_t\fP\&.
  34. .SS "typedef \fBhwloc_const_bitmap_t\fP \fBhwloc_const_nodeset_t\fP"
  35. .PP
  36. A non-modifiable \fBhwloc_nodeset_t\fP\&.
  37. .SS "typedef \fBhwloc_bitmap_t\fP \fBhwloc_cpuset_t\fP"
  38. .PP
  39. A CPU set is a bitmap whose bits are set according to CPU physical OS indexes\&. It may be consulted and modified with the bitmap API as any \fBhwloc_bitmap_t\fP (see \fBhwloc/bitmap\&.h\fP)\&.
  40. .PP
  41. Each bit may be converted into a PU object using \fBhwloc_get_pu_obj_by_os_index()\fP\&.
  42. .SS "typedef \fBhwloc_bitmap_t\fP \fBhwloc_nodeset_t\fP"
  43. .PP
  44. A node set is a bitmap whose bits are set according to NUMA memory node physical OS indexes\&. It may be consulted and modified with the bitmap API as any \fBhwloc_bitmap_t\fP (see \fBhwloc/bitmap\&.h\fP)\&. Each bit may be converted into a NUMA node object using \fBhwloc_get_numanode_obj_by_os_index()\fP\&.
  45. .PP
  46. When binding memory on a system without any NUMA node, the single main memory bank is considered as NUMA node #0\&.
  47. .PP
  48. See also \fBConverting between CPU sets and node sets\fP\&.
  49. .SH "Author"
  50. .PP
  51. Generated automatically by Doxygen for Hardware Locality (hwloc) from the source code\&.