File: a00292.html

package info (click to toggle)
hwloc 2.12.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 23,496 kB
  • sloc: ansic: 61,022; xml: 13,559; sh: 7,352; makefile: 2,150; javascript: 879; cpp: 93; sed: 5
file content (141 lines) | stat: -rw-r--r-- 9,221 bytes parent folder | download | duplicates (4)
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
140
141
<!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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Hardware Locality (hwloc): hwloc_distances_s Struct Reference</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 id="projectrow">
  <td id="projectalign">
   <div id="projectname">Hardware Locality (hwloc)<span id="projectnumber">&#160;2.12.2</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<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:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(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="#pub-attribs">Data Fields</a>  </div>
  <div class="headertitle"><div class="title">hwloc_distances_s Struct Reference<div class="ingroups"><a class="el" href="a00188.html">Retrieve distances between objects</a></div></div></div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="a00107_source.html">distances.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:a4ca2af858cebbce7324ec49903d09474" id="r_a4ca2af858cebbce7324ec49903d09474"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#a4ca2af858cebbce7324ec49903d09474">nbobjs</a></td></tr>
<tr class="separator:a4ca2af858cebbce7324ec49903d09474"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1e78b2d628d191fa6cae3fbfe891078" id="r_af1e78b2d628d191fa6cae3fbfe891078"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00165.html#ga79b8ab56877ef99ac59b833203391c7d">hwloc_obj_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#af1e78b2d628d191fa6cae3fbfe891078">objs</a></td></tr>
<tr class="separator:af1e78b2d628d191fa6cae3fbfe891078"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef9c83cf467da1b1fa4c36493febb3b5" id="r_aef9c83cf467da1b1fa4c36493febb3b5"><td class="memItemLeft" align="right" valign="top">unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#aef9c83cf467da1b1fa4c36493febb3b5">kind</a></td></tr>
<tr class="separator:aef9c83cf467da1b1fa4c36493febb3b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae43e19b2c743de05c93d71a30beaca75" id="r_ae43e19b2c743de05c93d71a30beaca75"><td class="memItemLeft" align="right" valign="top">hwloc_uint64_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html#ae43e19b2c743de05c93d71a30beaca75">values</a></td></tr>
<tr class="separator:ae43e19b2c743de05c93d71a30beaca75"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Matrix of distances between a set of objects. </p>
<p>The most common matrix contains latencies between NUMA nodes (as reported in the System Locality Distance Information Table (SLIT) in the ACPI specification), which may or may not be physically accurate. It corresponds to the latency for accessing the memory of one node from a core in another node. The corresponding kind is <a class="el" href="a00188.html#ggab1bb10d3adb85b52cdc6fe5a7f74f108afd6a3503fbc8f7c1a31235373cefc4c6" title="Distance values are similar to latencies between objects. Values are smaller for closer objects,...">HWLOC_DISTANCES_KIND_MEANS_LATENCY</a> | <a class="el" href="a00188.html#ggab1bb10d3adb85b52cdc6fe5a7f74f108a0148d7f9be833a04f5a55455437c227b" title="These distances were provided by the user.">HWLOC_DISTANCES_KIND_FROM_USER</a>. The name of this distances structure is "NUMALatency".</p>
<p>The matrix may also contain bandwidths between random sets of objects, possibly provided by the user, as specified in the <code>kind</code> attribute. Others common distance structures include and "XGMIBandwidth", "XGMIHops", "XeLinkBandwidth" and "NVLinkBandwidth".</p>
<p>Pointers <code>objs</code> and <code>values</code> should not be replaced, reallocated, freed, etc. However callers are allowed to modify <code>kind</code> as well as the contents of <code>objs</code> and <code>values</code> arrays. For instance, if there is a single NUMA node per Package, <a class="el" href="a00180.html#gab5df3ad1e8565ea0c2cf06412f6f6233" title="Return an object of a different type with same locality.">hwloc_get_obj_with_same_locality()</a> may be used to convert between them and replace NUMA nodes in the <code>objs</code> array with the corresponding Packages. See also <a class="el" href="a00188.html#gabcadd041f3072999d68f2d94e38670f7" title="Apply a transformation to a distances structure.">hwloc_distances_transform()</a> for applying some transformations to the structure. </p>
</div><h2 class="groupheader">Field Documentation</h2>
<a id="aef9c83cf467da1b1fa4c36493febb3b5" name="aef9c83cf467da1b1fa4c36493febb3b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef9c83cf467da1b1fa4c36493febb3b5">&#9670;&#160;</a></span>kind</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned long hwloc_distances_s::kind</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>OR'ed set of <a class="el" href="a00188.html#gab1bb10d3adb85b52cdc6fe5a7f74f108" title="Kinds of distance matrices.">hwloc_distances_kind_e</a>. </p>

</div>
</div>
<a id="a4ca2af858cebbce7324ec49903d09474" name="a4ca2af858cebbce7324ec49903d09474"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ca2af858cebbce7324ec49903d09474">&#9670;&#160;</a></span>nbobjs</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned hwloc_distances_s::nbobjs</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Number of objects described by the distance matrix. </p>

</div>
</div>
<a id="af1e78b2d628d191fa6cae3fbfe891078" name="af1e78b2d628d191fa6cae3fbfe891078"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af1e78b2d628d191fa6cae3fbfe891078">&#9670;&#160;</a></span>objs</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00165.html#ga79b8ab56877ef99ac59b833203391c7d">hwloc_obj_t</a>* hwloc_distances_s::objs</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Array of objects described by the distance matrix. These objects are not in any particular order, see <a class="el" href="a00189.html#gaef9d6bb018286de69f8ac023129805aa" title="Find the index of an object in a distances structure.">hwloc_distances_obj_index()</a> and <a class="el" href="a00189.html#ga29b891f8737ce5b35495240d977ac2c2" title="Find the values between two objects in a distance matrices.">hwloc_distances_obj_pair_values()</a> for easy ways to find objects in this array and their corresponding values. </p>

</div>
</div>
<a id="ae43e19b2c743de05c93d71a30beaca75" name="ae43e19b2c743de05c93d71a30beaca75"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae43e19b2c743de05c93d71a30beaca75">&#9670;&#160;</a></span>values</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">hwloc_uint64_t* hwloc_distances_s::values</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Matrix of distances between objects, stored as a one-dimension array. </p>
<p>Distance from i-th to j-th object is stored in slot i*nbobjs+j. The meaning of the value depends on the <code>kind</code> attribute. </p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="a00107_source.html">distances.h</a></li>
</ul>
</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.8
</small></address>
</body>
</html>