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
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.8.8"/>
<title>Hardware Locality (hwloc): Object attributes</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 style="padding-left: 0.5em;">
<div id="projectname">Hardware Locality (hwloc)
 <span id="projectnumber">1.10.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data Structures</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">Object attributes </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><h1><a class="anchor" id="attributes_normal"></a>
Normal attributes</h1>
<p>hwloc objects have many attributes. The <a class="el" href="a00036.html" title="Structure of a topology object. ">hwloc_obj</a> structure contains a common set of attributes that are available for object types, for instance their <code>type</code> or <code>logical_index</code>.</p>
<p>Each object also contains an <code>attr</code> field that, if non NULL, points to a union <a class="el" href="a00037.html" title="Object type-specific Attributes. ">hwloc_obj_attr_u</a> of type-specific attribute structures. For instance, a Cache object <code>obj</code> contains cache-specific information in <code>obj->attr->cache</code>, such as its size and associativity. See <a class="el" href="a00037.html" title="Object type-specific Attributes. ">hwloc_obj_attr_u</a> for details.</p>
<h1><a class="anchor" id="attributes_info"></a>
Custom string infos</h1>
<p>Aside from the <code>name</code> field of each object, hwloc annotates many objects with string attributes that are made of a key and a value. Each object contains a list of such pairs that may be consulted manually (looking at the object <code>infos</code> array field) or using the <a class="el" href="a00079.html#gab358661a92bb27d8542b255cc9f6f25e" title="Search the given key name in object infos and return the corresponding value. ">hwloc_obj_get_info_by_name()</a>. The user may additionally add new key-value pairs to any object using <a class="el" href="a00079.html#ga7e90c5398a9d77df31d7d45faf0f316b" title="Add the given info name and value pair to the given object. ">hwloc_obj_add_info()</a> or the <a class="el" href="a00004.html#cli_hwloc_annotate">hwloc-annotate</a> program.</p>
<p>Here is a non-exhaustive list of attributes that may be automatically added by hwloc (with the usual corresponding object in parentheses). Note that these attributes heavily depend on the ability of the operating system to report them. Many of them will therefore be missing on some OS. </p><dl>
<dt>OSName, OSRelease, OSVersion, HostName, Architecture (Machine object) </dt>
<dd>The operating system name, release, version, the hostname and the architecture name, as reported by the Unix <code>uname</code> command. </dd>
<dt>Backend (Machine object or topology root object) </dt>
<dd>The name of the hwloc backend/component that filled the topology. If several components were combined, multiple Backend keys may exist, with different values, for instance <code>x86</code>, <code>Linux</code> and <code>pci</code>. </dd>
<dt>LinuxCgroup (Machine object) </dt>
<dd>The name the Linux control group where the calling process is placed. </dd>
<dt>SyntheticDescription (topology root object) </dt>
<dd>The description string that was given to hwloc to build this synthetic topology. </dd>
<dt>CPUModel (Socket or Machine) </dt>
<dd>The processor model name. Usually added to Socket objects, but can be in Machine instead if hwloc failed to discover any socket. </dd>
<dt>CPUType (Socket) </dt>
<dd>A Solaris-specific general processor type name, such as "i86pc". </dd>
<dt>CPUVendor, CPUModelNumber, CPUFamilyNumber (Socket or Machine) </dt>
<dd>The processor vendor name, model number, and family number. Currently available for x86 and Xeon Phi processors on most systems, and for ia64 processors on Linux. Usually added to Socket objects, but can be in Machine instead if hwloc failed to discover any socket. </dd>
<dt>CPURevision (Socket) </dt>
<dd>A POWER/PowerPC-specific general processor revision number, currently only available on Linux. </dd>
<dt>PlatformName, PlatformModel, PlatformVendor, PlatformBoardID, PlatformRevision, </dt>
<dd></dd>
<dt>SystemVersionRegister, ProcessorVersionRegister (Machine) </dt>
<dd>Some POWER/PowerPC-specific attributes describing the platform and processor. Currently only available on Linux. Usually added to Socket objects, but can be in Machine instead if hwloc failed to discover any socket. </dd>
<dt>PCIVendor, PCIDevice (PCI devices and bridges) </dt>
<dd>The vendor and device names of the PCI device. </dd>
<dt>CoProcType (Co-Processor OS devices) </dt>
<dd>The type of co-processor, for instance <code>"MIC"</code>, <code>"CUDA"</code> or <code>"OpenCL"</code>. </dd>
<dt>GPUVendor, GPUModel (GPU or Co-Processor OS devices) </dt>
<dd>The vendor and model names of the GPU device. </dd>
<dt>OpenCLDeviceType, OpenCLPlatformIndex, </dt>
<dd></dd>
<dt>OpenCLPlatformName, OpenCLPlatformDeviceIndex (OpenCL GPU OS devices) </dt>
<dd>The type of OpenCL device, the OpenCL platform index and name, and the index of the device within the platform. </dd>
<dt>OpenCLComputeUnits, OpenCLGlobalMemorySize </dt>
<dd>The number of compute units and global memory size (in kB) of a OpenCL device. </dd>
<dt>NVIDIAUUID, NVIDIASerial (NVML GPU OS devices) </dt>
<dd>The UUID and Serial of NVIDIA GPUs. </dd>
<dt>CUDAMultiProcessors, CUDACoresPerMP, </dt>
<dd></dd>
<dt>CUDAGlobalMemorySize, CUDAL2CacheSize, CUDASharedMemorySizePerMP (CUDA OS devices) </dt>
<dd>The number of shared multiprocessors, the number of cores per multiprocessor, the global memory size, the (global) L2 cache size, and size of the shared memory in each multiprocessor of a CUDA device. Sizes are in kB. </dd>
<dt>MICSerialNumber </dt>
<dd>The serial number of an Intel Xeon Phi (MIC) coprocessor. When running hwloc on the host, each hwloc OS device object that corresponds to a Xeon Phi gets such an attribute. When running hwloc inside a Xeon Phi, the root object of the topology gets this attribute. It enables easy identification of devices and topologies when multiples nodes and MICs are involved. </dd>
<dt>MICFamily, MICSKU, MICActiveCores, MICMemorySize </dt>
<dd>The family, SKU (model), number of active cores, and memory size (in kB) of an Intel Xeon Phi (MIC) coprocessor. </dd>
<dt>DMIBoardVendor, DMIBoardName, etc. (Machine object) </dt>
<dd>DMI hardware information such as the motherboard and chassis models and vendors, the BIOS revision, etc., as reported by Linux under <code>/sys/class/dmi/id/</code>. </dd>
<dt>Address, Port (Network interface OS devices) </dt>
<dd>The MAC address and the port number of a software network interface, such as <code>eth4</code> on Linux. </dd>
<dt>NodeGUID, SysImageGUID, Port1State, Port2LID, Port2LMC, Port3GID1 (OpenFabrics OS devices) </dt>
<dd>The node GUID and GUID mask, the state of a port #1 (value is 4 when active), the LID and LID mask count of port #2, and GID #1 of port #3. </dd>
</dl>
<p>Here is a non-exhaustive list of user-provided info attributes that have a special meaning: </p><dl>
<dt>lstopoStyle </dt>
<dd>Enforces the style of an object (background and text colors) in the graphical output of lstopo. See CUSTOM COLORS in the lstopo(1) manpage for details. </dd>
</dl>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Oct 7 2014 11:56:52 for Hardware Locality (hwloc) by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>
|