File: a00189.html

package info (click to toggle)
hwloc-contrib 2.4.1%2Bdfsg-2
  • links: PTS, VCS
  • area: contrib
  • in suites: bullseye
  • size: 21,976 kB
  • sloc: ansic: 58,129; xml: 12,064; sh: 6,822; makefile: 2,200; javascript: 1,623; perl: 380; cpp: 93; php: 8; sed: 4
file content (139 lines) | stat: -rw-r--r-- 10,030 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Hardware Locality (hwloc): Object Sets (hwloc_cpuset_t and hwloc_nodeset_t)</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Hardware Locality (hwloc)
   &#160;<span id="projectnumber">2.4.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#typedef-members">Typedefs</a>  </div>
  <div class="headertitle">
<div class="title">Object Sets (hwloc_cpuset_t and hwloc_nodeset_t)</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga4bbf39b68b6f568fb92739e7c0ea7801"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00211.html#gaa3c2bf4c776d603dcebbb61b0c923d84">hwloc_bitmap_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html#ga4bbf39b68b6f568fb92739e7c0ea7801">hwloc_cpuset_t</a></td></tr>
<tr class="separator:ga4bbf39b68b6f568fb92739e7c0ea7801"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1f784433e9b606261f62d1134f6a3b25"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00211.html#gae991a108af01d408be2776c5b2c467b2">hwloc_const_bitmap_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a></td></tr>
<tr class="separator:ga1f784433e9b606261f62d1134f6a3b25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga37e35730fa7e775b5bb0afe893d6d508"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00211.html#gaa3c2bf4c776d603dcebbb61b0c923d84">hwloc_bitmap_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html#ga37e35730fa7e775b5bb0afe893d6d508">hwloc_nodeset_t</a></td></tr>
<tr class="separator:ga37e35730fa7e775b5bb0afe893d6d508"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2f5276235841ad66a79bedad16a5a10c"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00211.html#gae991a108af01d408be2776c5b2c467b2">hwloc_const_bitmap_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html#ga2f5276235841ad66a79bedad16a5a10c">hwloc_const_nodeset_t</a></td></tr>
<tr class="separator:ga2f5276235841ad66a79bedad16a5a10c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Hwloc uses bitmaps to represent two distinct kinds of object sets: CPU sets (<a class="el" href="a00189.html#ga4bbf39b68b6f568fb92739e7c0ea7801" title="A CPU set is a bitmap whose bits are set according to CPU physical OS indexes.">hwloc_cpuset_t</a>) and NUMA node sets (<a class="el" href="a00189.html#ga37e35730fa7e775b5bb0afe893d6d508" title="A node set is a bitmap whose bits are set according to NUMA memory node physical OS indexes.">hwloc_nodeset_t</a>). These types are both typedefs to a common back end type (<a class="el" href="a00211.html#gaa3c2bf4c776d603dcebbb61b0c923d84" title="Set of bits represented as an opaque pointer to an internal bitmap.">hwloc_bitmap_t</a>), and therefore all the hwloc bitmap functions are applicable to both <a class="el" href="a00189.html#ga4bbf39b68b6f568fb92739e7c0ea7801" title="A CPU set is a bitmap whose bits are set according to CPU physical OS indexes.">hwloc_cpuset_t</a> and <a class="el" href="a00189.html#ga37e35730fa7e775b5bb0afe893d6d508" title="A node set is a bitmap whose bits are set according to NUMA memory node physical OS indexes.">hwloc_nodeset_t</a> (see <a class="el" href="a00211.html">The bitmap API</a>).</p>
<p>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. </p>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="ga1f784433e9b606261f62d1134f6a3b25"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1f784433e9b606261f62d1134f6a3b25">&#9670;&nbsp;</a></span>hwloc_const_cpuset_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="a00211.html#gae991a108af01d408be2776c5b2c467b2">hwloc_const_bitmap_t</a> <a class="el" href="a00189.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A non-modifiable <a class="el" href="a00189.html#ga4bbf39b68b6f568fb92739e7c0ea7801" title="A CPU set is a bitmap whose bits are set according to CPU physical OS indexes.">hwloc_cpuset_t</a>. </p>

</div>
</div>
<a id="ga2f5276235841ad66a79bedad16a5a10c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2f5276235841ad66a79bedad16a5a10c">&#9670;&nbsp;</a></span>hwloc_const_nodeset_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="a00211.html#gae991a108af01d408be2776c5b2c467b2">hwloc_const_bitmap_t</a> <a class="el" href="a00189.html#ga2f5276235841ad66a79bedad16a5a10c">hwloc_const_nodeset_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A non-modifiable <a class="el" href="a00189.html#ga37e35730fa7e775b5bb0afe893d6d508" title="A node set is a bitmap whose bits are set according to NUMA memory node physical OS indexes.">hwloc_nodeset_t</a>. </p>

</div>
</div>
<a id="ga4bbf39b68b6f568fb92739e7c0ea7801"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4bbf39b68b6f568fb92739e7c0ea7801">&#9670;&nbsp;</a></span>hwloc_cpuset_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="a00211.html#gaa3c2bf4c776d603dcebbb61b0c923d84">hwloc_bitmap_t</a> <a class="el" href="a00189.html#ga4bbf39b68b6f568fb92739e7c0ea7801">hwloc_cpuset_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A CPU set is a bitmap whose bits are set according to CPU physical OS indexes. </p>
<p>It may be consulted and modified with the bitmap API as any <a class="el" href="a00211.html#gaa3c2bf4c776d603dcebbb61b0c923d84" title="Set of bits represented as an opaque pointer to an internal bitmap.">hwloc_bitmap_t</a> (see <a class="el" href="a00131_source.html">hwloc/bitmap.h</a>).</p>
<p>Each bit may be converted into a PU object using <a class="el" href="a00206.html#ga751c238a4931db5cc0ca3181b7dd7479" title="Returns the object of type HWLOC_OBJ_PU with os_index.">hwloc_get_pu_obj_by_os_index()</a>. </p>

</div>
</div>
<a id="ga37e35730fa7e775b5bb0afe893d6d508"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga37e35730fa7e775b5bb0afe893d6d508">&#9670;&nbsp;</a></span>hwloc_nodeset_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="a00211.html#gaa3c2bf4c776d603dcebbb61b0c923d84">hwloc_bitmap_t</a> <a class="el" href="a00189.html#ga37e35730fa7e775b5bb0afe893d6d508">hwloc_nodeset_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A node set is a bitmap whose bits are set according to NUMA memory node physical OS indexes. </p>
<p>It may be consulted and modified with the bitmap API as any <a class="el" href="a00211.html#gaa3c2bf4c776d603dcebbb61b0c923d84" title="Set of bits represented as an opaque pointer to an internal bitmap.">hwloc_bitmap_t</a> (see <a class="el" href="a00131_source.html">hwloc/bitmap.h</a>). Each bit may be converted into a NUMA node object using <a class="el" href="a00206.html#gab89d9ed9edfaa3dd526fb6ee1a1618ea" title="Returns the object of type HWLOC_OBJ_NUMANODE with os_index.">hwloc_get_numanode_obj_by_os_index()</a>.</p>
<p>When binding memory on a system without any NUMA node, the single main memory bank is considered as NUMA node #0.</p>
<p>See also <a class="el" href="a00209.html">Converting between CPU sets and node sets</a>. </p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>