-\endhtmlonly
\section embedding_example Example Embedding hwloc
Here's an example of integrating with a larger project named sandbox
@@ -3747,17 +3529,10 @@ than any system-provided copy of hwloc.
-
-
\page faq Frequently Asked Questions (FAQ)
-
-\htmlonly
-
-\endhtmlonly
\section faq1 Concepts
-
\subsection faq_why I only need binding, or the number of cores, why should I use hwloc ?
hwloc is its portable API that works on a variety of operating
@@ -4129,13 +3904,8 @@ hello from a single thread on core #3
-\htmlonly
-
-\endhtmlonly
\section faq2 Advanced
-
-
\subsection faq_xml I do not want hwloc to rediscover my enormous machine topology every time I rerun a process
Although the topology discovery is not expensive on common machines,
@@ -4322,13 +4092,8 @@ an I/O subtree.
-\htmlonly
-
-\endhtmlonly
\section faq3 Caveats
-
-
\subsection faq_slow_lstopo Why is lstopo slow?
lstopo enables most hwloc objects and discovery flags
@@ -4472,12 +4237,8 @@ You should pass the following command-line option to Valgrind to use it:
-\htmlonly
-
-\endhtmlonly
\section faq4 Platform-specific
-
\subsection faq_rocm_build How do I enable ROCm SMI and select which version to use?
hwloc enables ROCm SMI as soon as it finds its development headers and libraries
@@ -4497,7 +4258,6 @@ Passing \--enable-rsmi will also cause configure to fail
if RSMI could not be found and enabled in hwloc.
-
\subsection faq_cuda_build How do I enable CUDA and select which CUDA version to use?
hwloc enables CUDA as soon as it finds CUDA development headers and libraries
@@ -4526,7 +4286,6 @@ that are installed by CUDA, i.e. the CUDA, NVML and NVIDIA OpenCL backends,
since the given directory does not exist.
-
\subsection faq_knl_numa How do I find the local MCDRAM NUMA node on Intel Xeon Phi processor?
Intel Xeon Phi processors introduced a new memory architecture by
@@ -4662,9 +4421,6 @@ chuser "capabilities=CAP_PROPAGATE,CAP_NUMA_ATTACH"
\endverbatim
-\htmlonly
-
-\endhtmlonly
\section faq5 Compatibility between hwloc versions
\subsection faq_version_api How do I handle API changes?
@@ -4726,7 +4482,6 @@ However their HWLOC_VERSION strings are different
(
\"2.0.3\" and
\"2.0.4\" respectively).
-
\subsection faq_version_abi How do I handle ABI breaks?
The hwloc interface was deeply modified in release 2.0
@@ -4770,7 +4525,6 @@ Hence running one of the above (cheap) checks before initializing hwloc topology
may be useful.
-
\subsection faq_version_xml Are XML topology files compatible between hwloc releases?
XML topology files are forward-compatible:
@@ -4790,7 +4544,6 @@ Building all these components on the same (cluster-wide)
hwloc installation is a good way to avoid such incompatibilities.
-
\subsection faq_version_synthetic Are synthetic strings compatible between hwloc releases?
Synthetic strings (see \ref synthetic) are forward-compatible:
@@ -4802,7 +4555,6 @@ Some flags may be given to hwloc_topology_export_synthetic() to avoid such detai
and stay backward compatible.
-
\subsection faq_version_shmem Is it possible to share a shared-memory topology between different hwloc releases?
Shared-memory topologies (see \ref hwlocality_shmem) have strong
@@ -4821,19 +4573,13 @@ is a good way to avoid such incompatibilities.
-\page upgrade_to_api_2x Upgrading to the hwloc 2.0 API
-\htmlonly
-
-\endhtmlonly
+\page upgrade_to_api_2x Upgrading to the hwloc 2.0 API
See \ref faq5 for detecting the hwloc version that you are compiling
and/or running against.
-\htmlonly
-
-\endhtmlonly
\section upgrade_to_api_2x_memory New Organization of NUMA nodes and Memory
\subsection upgrade_to_api_2x_memory_children Memory children
@@ -4859,6 +4605,7 @@ hwloc_get_next_child() may still be used to iterate over all children of all lis
Hence the CPU-side hierarchy is built using normal children,
while memory is attached to that hierarchy depending on its affinity.
+
\subsection upgrade_to_api_2x_memory_examples Examples
@@ -5019,9 +4766,6 @@ Moreover, it is compatible with the hwloc v1.x API.
-\htmlonly
-
-\endhtmlonly
\section upgrade_to_api_2x_children 4 Kinds of Objects and Children
\subsection upgrade_to_api_2x_io_misc_children I/O and Misc children
@@ -5058,9 +4802,6 @@ Normal and Memory objects have (non-NULL) CPU sets and nodesets,
while I/O and Misc objects don't have any sets (they are NULL).
-\htmlonly
-
-\endhtmlonly
\section upgrade_to_api_2x_cache HWLOC_OBJ_CACHE replaced
Instead of a single HWLOC_OBJ_CACHE, there are now 8 types
@@ -5077,9 +4818,6 @@ hwloc_obj_type_is_cache(), hwloc_obj_type_is_dcache() and hwloc_obj_type_is_icac
may be used to check whether a given type is a cache, data/unified cache or instruction cache.
-\htmlonly
-
-\endhtmlonly
\section upgrade_to_api_2x_allowed allowed_cpuset and allowed_nodeset only in the main topology
Objects do not have allowed_cpuset
and allowed_nodeset
anymore.
@@ -5096,9 +4834,6 @@ Replace cpusets with nodesets for NUMA nodes.
To find out which ones, replace intersects() with and() to get the actual intersection.
-\htmlonly
-
-\endhtmlonly
\section upgrade_to_api_2x_depth Object depths are now signed int
obj->depth
as well as depths given to functions
@@ -5108,9 +4843,6 @@ such as hwloc_get_obj_by_depth() or returned by hwloc_topology_get_depth() are n
Other depth such as cache-specific depth attribute are still unsigned.
-\htmlonly
-
-\endhtmlonly
\section upgrade_to_api_2x_memory_attrs Memory attributes become NUMANode-specific
Memory attributes such as obj->memory.local_memory
@@ -5123,9 +4855,6 @@ in all objects as obj->total_memory
.
See hwloc_obj_attr_u::hwloc_numanode_attr_s and hwloc_obj for details.
-\htmlonly
-
-\endhtmlonly
\section upgrade_to_api_2x_config Topology configuration changes
The old ignoring API as well as several configuration flags
@@ -5171,9 +4900,6 @@ hwloc_topology_set_io_types_filter(topology, HWLOC_TYPE_FILTER_KEEP_IMPORTANT);
-\htmlonly
-
-\endhtmlonly
\section upgrade_to_api_2x_xml XML changes
2.0 XML files are not compatible with 1.x
@@ -5222,9 +4948,6 @@ and hwloc_topology_diff_destroy() lost the topology argument:
The first argument (topology) isn't needed anymore.
-\htmlonly
-
-\endhtmlonly
\section upgrade_to_api_2x_distances Distances API totally rewritten
The new distances API is in hwloc/distances.h.
@@ -5240,9 +4963,6 @@ The set of object involved in a distances structure is specified
by an array of objects, it may not always cover the entire machine or so.
-\htmlonly
-
-\endhtmlonly
\section upgrade_to_api_2x_return Return values of functions
Bitmap functions (and a couple other functions) can return errors (in theory).
@@ -5258,9 +4978,6 @@ hwloc_obj_add_info(), hwloc_cpuset_from_nodeset() and hwloc_cpuset_from_nodeset(
also return an int, which would be -1 in case of allocation errors.
-\htmlonly
-
-\endhtmlonly
\section upgrade_to_api_2x_misc Misc API changes
@@ -5289,9 +5006,6 @@ with hwloc_topology_insert_misc_object().
-\htmlonly
-
-\endhtmlonly
\section upgrade_to_api_2x_removals API removals and deprecations