The behavior of the hwloc library and tools may be tuned thanks to the following environment variables.


\begin{DoxyDescription}
\item[H\-W\-L\-O\-C\-\_\-\-X\-M\-L\-F\-I\-L\-E=/path/to/file.xml ]enforces the discovery from the given X\-M\-L file as if \hyperlink{a00044_ga93efcc8a962afe1ed23393700682173f}{hwloc\-\_\-topology\-\_\-set\-\_\-xml()} had been called. This file may have been generated earlier with lstopo file.\-xml. For convenience, this backend provides empty binding hooks which just return success. To have hwloc still actually call O\-S-\/specific hooks, H\-W\-L\-O\-C\-\_\-\-T\-H\-I\-S\-S\-Y\-S\-T\-E\-M should be set 1 in the environment too, to assert that the loaded file is really the underlying system. See also \hyperlink{a00007}{Importing and exporting topologies from/to X\-M\-L files}. 


\item[H\-W\-L\-O\-C\-\_\-\-X\-M\-L\-\_\-\-V\-E\-R\-B\-O\-S\-E=1 ]
\item[H\-W\-L\-O\-C\-\_\-\-S\-Y\-N\-T\-H\-E\-T\-I\-C\-\_\-\-V\-E\-R\-B\-O\-S\-E=1 ]enable verbose messages in the X\-M\-L or synthetic topology backends. hwloc X\-M\-L backends (see \hyperlink{a00007}{Importing and exporting topologies from/to X\-M\-L files}) can emit some error messages to the error output stream. Enabling these verbose messages within hwloc can be useful for understanding failures to parse input X\-M\-L topologies. Similarly, enabling verbose messages in the synthetic topology backend can help understand why the description string is invalid. 


\item[H\-W\-L\-O\-C\-\_\-\-F\-S\-R\-O\-O\-T=/path/to/linux/filesystem-\/root/ ]switches to reading the topology from the specified Linux filesystem root instead of the main file-\/system root, as if \hyperlink{a00044_ga2f6bfb6958d8b508ea1d7d5bb266432c}{hwloc\-\_\-topology\-\_\-set\-\_\-fsroot()} had been called. Not using the main file-\/system root causes \hyperlink{a00046_ga0d109e33fc7990f62f665d336e5e5111}{hwloc\-\_\-topology\-\_\-is\-\_\-thissystem()} to return 0. For convenience, this backend provides empty binding hooks which just return success. To have hwloc still actually call O\-S-\/specific hooks, H\-W\-L\-O\-C\-\_\-\-T\-H\-I\-S\-S\-Y\-S\-T\-E\-M should be set 1 in the environment too, to assert that the loaded file is really the underlying system. 


\item[H\-W\-L\-O\-C\-\_\-\-T\-H\-I\-S\-S\-Y\-S\-T\-E\-M=1 ]enforces the return value of \hyperlink{a00046_ga0d109e33fc7990f62f665d336e5e5111}{hwloc\-\_\-topology\-\_\-is\-\_\-thissystem()}. It means that it makes hwloc assume that the selected backend provides the topology for the system on which we are running, even if it is not the O\-S-\/specific backend but the X\-M\-L backend for instance. This means making the binding functions actually call the O\-S-\/specific system calls and really do binding, while the X\-M\-L backend would otherwise provide empty hooks just returning success. This can be used for efficiency reasons to first detect the topology once, save it to an X\-M\-L file, and quickly reload it later through the X\-M\-L backend, but still having binding functions actually do bind. 


\item[H\-W\-L\-O\-C\-\_\-\-H\-I\-D\-E\-\_\-\-E\-R\-R\-O\-R\-S=0 ]enables or disables verbose reporting of errors. The hwloc library may issue warnings to the standard error stream when it detects a problem during topology discovery, for instance if the operating system (or user) gives contradictory topology information. Setting this environment variable to 1 removes the actual displaying of these error messages. 


\item[H\-W\-L\-O\-C\-\_\-\-G\-R\-O\-U\-P\-I\-N\-G=1 ]enables or disables objects grouping based on distances. By default, hwloc uses distance matrices between objects (either read from the O\-S or given by the user) to find groups of close objects. These groups are described by adding intermediate Group objects in the topology. Setting this environment variable to 0 will disable this grouping. This variable supersedes the obsolete H\-W\-L\-O\-C\-\_\-\-I\-G\-N\-O\-R\-E\-\_\-\-D\-I\-S\-T\-A\-N\-C\-E\-S variable. 


\item[H\-W\-L\-O\-C\-\_\-\-G\-R\-O\-U\-P\-I\-N\-G\-\_\-\-A\-C\-C\-U\-R\-A\-C\-Y=0.\-05 ]relaxes distance comparison during grouping. By default, objects may be grouped if their distances form a minimal distance graph. When setting this variable to 0.\-02, these distances do not have to be strictly equal anymore, they may just be equal with a 2\% error. If set to {\ttfamily try} instead of a numerical value, hwloc will try to group with perfect accuracy (0, the default), then with 0.\-01, 0.\-02, 0.\-05 and finally 0.\-1.


\item[H\-W\-L\-O\-C\-\_\-\-G\-R\-O\-U\-P\-I\-N\-G\-\_\-\-V\-E\-R\-B\-O\-S\-E=0 ]enables or disables some verbose messages during grouping. If this variable is set to 1, some debug messages will be displayed during distance-\/based grouping of objects even if debug was not specific at configure time. This is useful when trying to find an interesting distance grouping accuracy.


\item[H\-W\-L\-O\-C\-\_\-$<$type$>${\itshape D\-I\-S\-T\-A\-N\-C\-E\-S=index,...\-:X$\ast$\-Y \/}]
\item[H\-W\-L\-O\-C$<$type$>${\itshape D\-I\-S\-T\-A\-N\-C\-E\-S=begin-\/end\-:X$\ast$\-Y$\ast$\-Z \/}]
\item[H\-W\-L\-O\-C$<$type$>$\-\_\-\-D\-I\-S\-T\-A\-N\-C\-E\-S=index,...\-:distance,... ]{\itshape {\itshape sets a distance matrix for objects of the given type and physical indexes. The type should be given as its case-\/sensitive stringified value (e.\-g. {\ttfamily N\-U\-M\-A\-Node}, {\ttfamily Socket}, {\ttfamily Cache}, {\ttfamily Core}, {\ttfamily P\-U}). If another distance matrix already exists for the given type, either because the user specified it or because the O\-S offers it, it will be replaced by the given one.\/}\/}

{\itshape {\itshape  If the variable value is {\ttfamily none}, the existing distance matrix for the given type is removed. Otherwise, the variable value first consists in a list of physical indexes that may be specified as a comma-\/separated list (e.\-g. {\ttfamily 0,2,4,1,3,5}) or as a range of consecutive indexes ({\ttfamily 0-\/5}). It is followed by a colon and the corresponding distances\-: 
\begin{DoxyItemize}
\item If {\ttfamily X$\ast$\-Y} is given, X groups of Y close objects are specified. 
\item If {\ttfamily X$\ast$\-Y$\ast$\-Z} is given, X groups of Y groups of Z close objects are specified. 
\item Otherwise, the comma-\/separated list of distances should be given. If N objects are considered, the i$\ast$\-N+j-\/th value gives the distance from the i-\/th object to the j-\/th object. These distance values must use a dot as a decimal separator. 
\end{DoxyItemize}\/}\/}

{\itshape {\itshape  Note that distances are ignored in multi-\/node topologies. \/}\/}

{\itshape {\itshape \/}\/}
\item[H\-W\-L\-O\-C\-\_\-\-P\-C\-I\-\_\-$<$domain$>$\-\_\-$<$bus$>$\-\_\-\-L\-O\-C\-A\-L\-C\-P\-U\-S=$<$cpuset$>$ ]{\itshape {\itshape changes the locality of I/\-O devices behind the specified P\-C\-I hostbridge. If no I/\-O locality information is available or if the B\-I\-O\-S reports incorrect information, it is possible to move a I/\-O device tree (the entire set of objects behind a host bridge) near a custom set of processors. {\ttfamily domain} and {\ttfamily bus} are the P\-C\-I domain and primary bus of the corresponding host bridge. \/}\/}

{\itshape {\itshape \/}\/}
\end{DoxyDescription}