diff --git a/index.php b/index.php index 4439830986..e151d5f722 100644 --- a/index.php +++ b/index.php @@ -99,9 +99,9 @@ function pr($name, $url, $comma) { news("Open MPI v5.0.6 released", "Bug fix release", ""); -news("hwloc 2.11.2", - "Stable release", - "https://www.mail-archive.com/hwloc-announce@lists.open-mpi.org/msg00169.html"); +news("hwloc 2.12.0", + "Major release", + "https://sympa.inria.fr/sympa/arc/hwloc-announce/2025-02/msg00001.html"); ?> diff --git a/projects/hwloc/doc/hwloc-v2.12.0rc1-a4.pdf b/projects/hwloc/doc/hwloc-v2.12.0-a4.pdf similarity index 71% rename from projects/hwloc/doc/hwloc-v2.12.0rc1-a4.pdf rename to projects/hwloc/doc/hwloc-v2.12.0-a4.pdf index bbb71e6990..04649a9eba 100644 Binary files a/projects/hwloc/doc/hwloc-v2.12.0rc1-a4.pdf and b/projects/hwloc/doc/hwloc-v2.12.0-a4.pdf differ diff --git a/projects/hwloc/doc/hwloc-v2.12.0rc1-letter.pdf b/projects/hwloc/doc/hwloc-v2.12.0-letter.pdf similarity index 55% rename from projects/hwloc/doc/hwloc-v2.12.0rc1-letter.pdf rename to projects/hwloc/doc/hwloc-v2.12.0-letter.pdf index 35f82b0743..488ccd80e0 100644 Binary files a/projects/hwloc/doc/hwloc-v2.12.0rc1-letter.pdf and b/projects/hwloc/doc/hwloc-v2.12.0-letter.pdf differ diff --git a/projects/hwloc/doc/index.php b/projects/hwloc/doc/index.php index 2d04348029..d83c689a01 100644 --- a/projects/hwloc/doc/index.php +++ b/projects/hwloc/doc/index.php @@ -36,7 +36,7 @@ function print_docs($desc, $letterpdf, $a4pdf, $html) { ######################################################### -$versions = array(); +$versions = array("v2.12.0"); $first = 1; foreach ($versions as $key => $v) { # print_docs("Release $v (stable" . (!$first ? ", old" : "") . ")", diff --git a/projects/hwloc/doc/v2.12.0rc1/a00071_source.php b/projects/hwloc/doc/v2.12.0/a00071_source.php similarity index 98% rename from projects/hwloc/doc/v2.12.0rc1/a00071_source.php rename to projects/hwloc/doc/v2.12.0/a00071_source.php index e646271b49..b58fb8c18c 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00071_source.php +++ b/projects/hwloc/doc/v2.12.0/a00071_source.php @@ -38,7 +38,7 @@
1/*
2 * Copyright © 2009 CNRS
-
3 * Copyright © 2009-2024 Inria. All rights reserved.
+
3 * Copyright © 2009-2025 Inria. All rights reserved.
4 * Copyright © 2009-2012 Université Bordeaux
5 * Copyright © 2009-2020 Cisco Systems, Inc. All rights reserved.
6 * See COPYING in top-level directory.
@@ -104,7 +104,7 @@
77#endif
78
79
-
115#define HWLOC_API_VERSION 0x00020b00
+
115#define HWLOC_API_VERSION 0x00020c00
116
123HWLOC_DECLSPEC unsigned hwloc_get_api_version(void);
124
@@ -345,31 +345,31 @@
910
924static __hwloc_inline int
- +
926
940static __hwloc_inline int
- +
942
951HWLOC_DECLSPEC hwloc_obj_type_t hwloc_get_depth_type (hwloc_topology_t topology, int depth) __hwloc_attribute_pure;
952
958HWLOC_DECLSPEC unsigned hwloc_get_nbobjs_by_depth (hwloc_topology_t topology, int depth) __hwloc_attribute_pure;
959
966static __hwloc_inline int
-
967hwloc_get_nbobjs_by_type (hwloc_topology_t topology, hwloc_obj_type_t type) __hwloc_attribute_pure;
+
967hwloc_get_nbobjs_by_type (hwloc_topology_t topology, hwloc_obj_type_t type) __hwloc_attribute_pure;
968
975static __hwloc_inline hwloc_obj_t
-
976hwloc_get_root_obj (hwloc_topology_t topology) __hwloc_attribute_pure;
+
976hwloc_get_root_obj (hwloc_topology_t topology) __hwloc_attribute_pure;
977
983HWLOC_DECLSPEC hwloc_obj_t hwloc_get_obj_by_depth (hwloc_topology_t topology, int depth, unsigned idx) __hwloc_attribute_pure;
984
992static __hwloc_inline hwloc_obj_t
-
993hwloc_get_obj_by_type (hwloc_topology_t topology, hwloc_obj_type_t type, unsigned idx) __hwloc_attribute_pure;
+
993hwloc_get_obj_by_type (hwloc_topology_t topology, hwloc_obj_type_t type, unsigned idx) __hwloc_attribute_pure;
994
1001static __hwloc_inline hwloc_obj_t
- +
1003
1012static __hwloc_inline hwloc_obj_t
- +
1014 hwloc_obj_t prev);
1015
1034HWLOC_DECLSPEC const char * hwloc_obj_type_string (hwloc_obj_type_t type) __hwloc_attribute_const;
@@ -391,7 +391,7 @@
1122 hwloc_topology_t topology, int *depthp);
1123
1142static __hwloc_inline const char *
-
1143hwloc_obj_get_info_by_name(hwloc_obj_t obj, const char *name) __hwloc_attribute_pure;
+
1143hwloc_obj_get_info_by_name(hwloc_obj_t obj, const char *name) __hwloc_attribute_pure;
1144
1161HWLOC_DECLSPEC int hwloc_obj_add_info(hwloc_obj_t obj, const char *name, const char *value);
1162
@@ -482,7 +482,7 @@
1863HWLOC_DECLSPEC void *hwloc_alloc_membind(hwloc_topology_t topology, size_t len, hwloc_const_bitmap_t set, hwloc_membind_policy_t policy, int flags) __hwloc_attribute_malloc;
1864
1879static __hwloc_inline void *
-
1880hwloc_alloc_membind_policy(hwloc_topology_t topology, size_t len, hwloc_const_bitmap_t set, hwloc_membind_policy_t policy, int flags) __hwloc_attribute_malloc;
+
1880hwloc_alloc_membind_policy(hwloc_topology_t topology, size_t len, hwloc_const_bitmap_t set, hwloc_membind_policy_t policy, int flags) __hwloc_attribute_malloc;
1881
1887HWLOC_DECLSPEC int hwloc_free(hwloc_topology_t topology, void *addr, size_t len);
1888
@@ -747,18 +747,18 @@
void hwloc_topology_destroy(hwloc_topology_t topology)
Terminate and free a topology context.
int hwloc_topology_load(hwloc_topology_t topology)
Build the actual topology.
void hwloc_topology_check(hwloc_topology_t topology)
Run internal checks on a topology structure.
+
int hwloc_get_type_or_above_depth(hwloc_topology_t topology, hwloc_obj_type_t type)
Returns the depth of objects of type type or above.
+
hwloc_obj_t hwloc_get_obj_by_type(hwloc_topology_t topology, hwloc_obj_type_t type, unsigned idx)
Returns the topology object at logical index idx with type type.
unsigned hwloc_get_nbobjs_by_depth(hwloc_topology_t topology, int depth)
Returns the width of level at depth depth.
-
static hwloc_obj_t hwloc_get_root_obj(hwloc_topology_t topology)
Returns the top-object of the topology-tree.
hwloc_obj_t hwloc_get_obj_by_depth(hwloc_topology_t topology, int depth, unsigned idx)
Returns the topology object at logical index idx from depth depth.
hwloc_obj_type_t hwloc_get_depth_type(hwloc_topology_t topology, int depth)
Returns the type of objects at depth depth.
-
static hwloc_obj_t hwloc_get_obj_by_type(hwloc_topology_t topology, hwloc_obj_type_t type, unsigned idx)
Returns the topology object at logical index idx with type type.
-
static hwloc_obj_t hwloc_get_next_obj_by_type(hwloc_topology_t topology, hwloc_obj_type_t type, hwloc_obj_t prev)
Returns the next object of type type.
-
static int hwloc_get_nbobjs_by_type(hwloc_topology_t topology, hwloc_obj_type_t type)
Returns the width of level type type.
-
static int hwloc_get_type_or_below_depth(hwloc_topology_t topology, hwloc_obj_type_t type)
Returns the depth of objects of type type or below.
-
static int hwloc_get_type_or_above_depth(hwloc_topology_t topology, hwloc_obj_type_t type)
Returns the depth of objects of type type or above.
+
int hwloc_get_nbobjs_by_type(hwloc_topology_t topology, hwloc_obj_type_t type)
Returns the width of level type type.
+
hwloc_obj_t hwloc_get_next_obj_by_depth(hwloc_topology_t topology, int depth, hwloc_obj_t prev)
Returns the next object at depth depth.
+
hwloc_obj_t hwloc_get_next_obj_by_type(hwloc_topology_t topology, hwloc_obj_type_t type, hwloc_obj_t prev)
Returns the next object of type type.
int hwloc_get_type_depth(hwloc_topology_t topology, hwloc_obj_type_t type)
Returns the depth of objects of type type.
-
static hwloc_obj_t hwloc_get_next_obj_by_depth(hwloc_topology_t topology, int depth, hwloc_obj_t prev)
Returns the next object at depth depth.
+
int hwloc_get_type_or_below_depth(hwloc_topology_t topology, hwloc_obj_type_t type)
Returns the depth of objects of type type or below.
int hwloc_topology_get_depth(hwloc_topology_t restrict topology)
Get the depth of the hierarchical tree of objects.
+
hwloc_obj_t hwloc_get_root_obj(hwloc_topology_t topology)
Returns the top-object of the topology-tree.
int hwloc_get_memory_parents_depth(hwloc_topology_t topology)
Return the depth of parents where memory objects are attached.
hwloc_get_type_depth_e
Definition hwloc.h:879
@ HWLOC_TYPE_DEPTH_UNKNOWN
No object of given type exists in the topology.
Definition hwloc.h:880
@@ -774,8 +774,8 @@
const char * hwloc_obj_type_string(hwloc_obj_type_t type)
Return a constant stringified object type.
int hwloc_obj_attr_snprintf(char *restrict string, size_t size, hwloc_obj_t obj, const char *restrict separator, int verbose)
Stringify the attributes of a given topology object into a human-readable form.
int hwloc_obj_type_snprintf(char *restrict string, size_t size, hwloc_obj_t obj, int verbose)
Stringify the type of a given topology object into a human-readable form.
-
static const char * hwloc_obj_get_info_by_name(hwloc_obj_t obj, const char *name)
Search the given name in object infos and return the corresponding value.
int hwloc_obj_set_subtype(hwloc_topology_t topology, hwloc_obj_t obj, const char *subtype)
Set (or replace) the subtype of an object.
+
const char * hwloc_obj_get_info_by_name(hwloc_obj_t obj, const char *name)
Search the given name in object infos and return the corresponding value.
int hwloc_obj_add_info(hwloc_obj_t obj, const char *name, const char *value)
Add the given name and value pair to the given object info attributes.
hwloc_cpubind_flags_t
Process/Thread binding flags.
Definition hwloc.h:1250
int hwloc_set_proc_cpubind(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_const_cpuset_t set, int flags)
Bind a process pid on CPUs given in physical bitmap set.
@@ -794,12 +794,12 @@
int hwloc_get_proc_membind(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_bitmap_t set, hwloc_membind_policy_t *policy, int flags)
Query the default memory binding policy and physical locality of the specified process.
int hwloc_free(hwloc_topology_t topology, void *addr, size_t len)
Free memory that was previously allocated by hwloc_alloc() or hwloc_alloc_membind().
int hwloc_get_area_memlocation(hwloc_topology_t topology, const void *addr, size_t len, hwloc_bitmap_t set, int flags)
Get the NUMA nodes where memory identified by (addr, len ) is physically allocated.
-
static void * hwloc_alloc_membind_policy(hwloc_topology_t topology, size_t len, hwloc_const_bitmap_t set, hwloc_membind_policy_t policy, int flags)
Allocate some memory on NUMA memory nodes specified by set.
void * hwloc_alloc(hwloc_topology_t topology, size_t len)
Allocate some memory.
int hwloc_get_area_membind(hwloc_topology_t topology, const void *addr, size_t len, hwloc_bitmap_t set, hwloc_membind_policy_t *policy, int flags)
Query the CPUs near the physical NUMA node(s) and binding policy of the memory identified by (addr,...
hwloc_membind_flags_t
Memory binding flags.
Definition hwloc.h:1587
int hwloc_set_proc_membind(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_const_bitmap_t set, hwloc_membind_policy_t policy, int flags)
Set the default memory binding policy of the specified process to prefer the NUMA node(s) specified b...
hwloc_membind_policy_t
Memory binding policy.
Definition hwloc.h:1508
+
void * hwloc_alloc_membind_policy(hwloc_topology_t topology, size_t len, hwloc_const_bitmap_t set, hwloc_membind_policy_t policy, int flags)
Allocate some memory on NUMA memory nodes specified by set.
void * hwloc_alloc_membind(hwloc_topology_t topology, size_t len, hwloc_const_bitmap_t set, hwloc_membind_policy_t policy, int flags)
Allocate some memory on NUMA memory nodes specified by set.
int hwloc_get_membind(hwloc_topology_t topology, hwloc_bitmap_t set, hwloc_membind_policy_t *policy, int flags)
Query the default memory binding policy and physical locality of the current process or thread.
int hwloc_set_area_membind(hwloc_topology_t topology, const void *addr, size_t len, hwloc_const_bitmap_t set, hwloc_membind_policy_t policy, int flags)
Bind the already-allocated memory identified by (addr, len) to the NUMA node(s) specified by set.
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00074_source.php b/projects/hwloc/doc/v2.12.0/a00074_source.php similarity index 85% rename from projects/hwloc/doc/v2.12.0rc1/a00074_source.php rename to projects/hwloc/doc/v2.12.0/a00074_source.php index 2e9069875c..c058fb5d7c 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00074_source.php +++ b/projects/hwloc/doc/v2.12.0/a00074_source.php @@ -80,9 +80,9 @@
104
122static __hwloc_inline hwloc_obj_t
- +
124{
-
125 hwloc_obj_t obj = hwloc_get_root_obj(topology);
+
125 hwloc_obj_t obj = hwloc_get_root_obj(topology);
126 if (!hwloc_bitmap_intersects(obj->cpuset, set))
127 return NULL;
128 while (!hwloc_bitmap_isincluded(obj->cpuset, set)) {
@@ -109,10 +109,10 @@
153
169static __hwloc_inline hwloc_obj_t
- +
171 int depth, hwloc_obj_t prev)
172{
-
173 hwloc_obj_t next = hwloc_get_next_obj_by_depth(topology, depth, prev);
+
173 hwloc_obj_t next = hwloc_get_next_obj_by_depth(topology, depth, prev);
174 if (!next)
175 return NULL;
176 while (next && (hwloc_bitmap_iszero(next->cpuset) || !hwloc_bitmap_isincluded(next->cpuset, set)))
@@ -123,22 +123,22 @@
180
199static __hwloc_inline hwloc_obj_t
- +
201 hwloc_obj_type_t type, hwloc_obj_t prev)
202{
203 int depth = hwloc_get_type_depth(topology, type);
205 return NULL;
-
206 return hwloc_get_next_obj_inside_cpuset_by_depth(topology, set, depth, prev);
+
206 return hwloc_get_next_obj_inside_cpuset_by_depth(topology, set, depth, prev);
207}
208
219static __hwloc_inline hwloc_obj_t
- +
221 int depth, unsigned idx) __hwloc_attribute_pure;
222static __hwloc_inline hwloc_obj_t
- +
224 int depth, unsigned idx)
225{
226 hwloc_obj_t obj = hwloc_get_obj_by_depth (topology, depth, 0);
@@ -158,26 +158,26 @@
240
255static __hwloc_inline hwloc_obj_t
- +
257 hwloc_obj_type_t type, unsigned idx) __hwloc_attribute_pure;
258static __hwloc_inline hwloc_obj_t
- +
260 hwloc_obj_type_t type, unsigned idx)
261{
262 int depth = hwloc_get_type_depth(topology, type);
264 return NULL;
-
265 return hwloc_get_obj_inside_cpuset_by_depth(topology, set, depth, idx);
+
265 return hwloc_get_obj_inside_cpuset_by_depth(topology, set, depth, idx);
266}
267
279static __hwloc_inline unsigned
- +
281 int depth) __hwloc_attribute_pure;
282static __hwloc_inline unsigned
297
311static __hwloc_inline int
- +
313 hwloc_obj_type_t type) __hwloc_attribute_pure;
314static __hwloc_inline int
- +
316 hwloc_obj_type_t type)
317{
318 int depth = hwloc_get_type_depth(topology, type);
@@ -206,16 +206,16 @@
320 return 0;
321 if (depth == HWLOC_TYPE_DEPTH_MULTIPLE)
322 return -1; /* FIXME: agregate nbobjs from different levels? */
-
323 return (int) hwloc_get_nbobjs_inside_cpuset_by_depth(topology, set, depth);
+
323 return (int) hwloc_get_nbobjs_inside_cpuset_by_depth(topology, set, depth);
324}
325
342static __hwloc_inline int
-
343hwloc_get_obj_index_inside_cpuset (hwloc_topology_t topology __hwloc_attribute_unused, hwloc_const_cpuset_t set,
+
343hwloc_get_obj_index_inside_cpuset (hwloc_topology_t topology __hwloc_attribute_unused, hwloc_const_cpuset_t set,
344 hwloc_obj_t obj) __hwloc_attribute_pure;
345static __hwloc_inline int
- +
347 hwloc_obj_t obj)
348{
349 int idx = 0;
@@ -230,11 +230,11 @@
358
374static __hwloc_inline hwloc_obj_t
-
375hwloc_get_child_covering_cpuset (hwloc_topology_t topology __hwloc_attribute_unused, hwloc_const_cpuset_t set,
+
375hwloc_get_child_covering_cpuset (hwloc_topology_t topology __hwloc_attribute_unused, hwloc_const_cpuset_t set,
376 hwloc_obj_t parent) __hwloc_attribute_pure;
377static __hwloc_inline hwloc_obj_t
- +
379 hwloc_obj_t parent)
380{
381 hwloc_obj_t child;
@@ -251,16 +251,16 @@
392
398static __hwloc_inline hwloc_obj_t
-
399hwloc_get_obj_covering_cpuset (hwloc_topology_t topology, hwloc_const_cpuset_t set) __hwloc_attribute_pure;
+
399hwloc_get_obj_covering_cpuset (hwloc_topology_t topology, hwloc_const_cpuset_t set) __hwloc_attribute_pure;
400static __hwloc_inline hwloc_obj_t
- +
402{
-
403 struct hwloc_obj *current = hwloc_get_root_obj(topology);
+
403 struct hwloc_obj *current = hwloc_get_root_obj(topology);
404 if (hwloc_bitmap_iszero(set) || !hwloc_bitmap_isincluded(set, current->cpuset))
405 return NULL;
406 while (1) {
-
407 hwloc_obj_t child = hwloc_get_child_covering_cpuset(topology, set, current);
+
407 hwloc_obj_t child = hwloc_get_child_covering_cpuset(topology, set, current);
408 if (!child)
409 return current;
410 current = child;
@@ -270,10 +270,10 @@
413
427static __hwloc_inline hwloc_obj_t
- +
429 int depth, hwloc_obj_t prev)
430{
-
431 hwloc_obj_t next = hwloc_get_next_obj_by_depth(topology, depth, prev);
+
431 hwloc_obj_t next = hwloc_get_next_obj_by_depth(topology, depth, prev);
432 if (!next)
433 return NULL;
434 while (next && !hwloc_bitmap_intersects(set, next->cpuset))
@@ -284,21 +284,21 @@
438
455static __hwloc_inline hwloc_obj_t
464
488static __hwloc_inline hwloc_obj_t
-
489hwloc_get_ancestor_obj_by_depth (hwloc_topology_t topology __hwloc_attribute_unused, int depth, hwloc_obj_t obj) __hwloc_attribute_pure;
+
489hwloc_get_ancestor_obj_by_depth (hwloc_topology_t topology __hwloc_attribute_unused, int depth, hwloc_obj_t obj) __hwloc_attribute_pure;
490static __hwloc_inline hwloc_obj_t
-
491hwloc_get_ancestor_obj_by_depth (hwloc_topology_t topology __hwloc_attribute_unused, int depth, hwloc_obj_t obj)
+
491hwloc_get_ancestor_obj_by_depth (hwloc_topology_t topology __hwloc_attribute_unused, int depth, hwloc_obj_t obj)
492{
493 hwloc_obj_t ancestor = obj;
494 if (obj->depth < depth)
@@ -310,10 +310,10 @@
500
514static __hwloc_inline hwloc_obj_t
-
515hwloc_get_ancestor_obj_by_type (hwloc_topology_t topology __hwloc_attribute_unused, hwloc_obj_type_t type, hwloc_obj_t obj) __hwloc_attribute_pure;
+
515hwloc_get_ancestor_obj_by_type (hwloc_topology_t topology __hwloc_attribute_unused, hwloc_obj_type_t type, hwloc_obj_t obj) __hwloc_attribute_pure;
516static __hwloc_inline hwloc_obj_t
- +
518{
519 hwloc_obj_t ancestor = obj->parent;
520 while (ancestor && ancestor->type != type)
@@ -323,10 +323,10 @@
524
531static __hwloc_inline hwloc_obj_t
-
532hwloc_get_common_ancestor_obj (hwloc_topology_t topology __hwloc_attribute_unused, hwloc_obj_t obj1, hwloc_obj_t obj2) __hwloc_attribute_pure;
+
532hwloc_get_common_ancestor_obj (hwloc_topology_t topology __hwloc_attribute_unused, hwloc_obj_t obj1, hwloc_obj_t obj2) __hwloc_attribute_pure;
533static __hwloc_inline hwloc_obj_t
-
534hwloc_get_common_ancestor_obj (hwloc_topology_t topology __hwloc_attribute_unused, hwloc_obj_t obj1, hwloc_obj_t obj2)
+
534hwloc_get_common_ancestor_obj (hwloc_topology_t topology __hwloc_attribute_unused, hwloc_obj_t obj1, hwloc_obj_t obj2)
535{
536 /* the loop isn't so easy since intermediate ancestors may have
537 * different depth, causing us to alternate between using obj1->parent
@@ -348,10 +348,10 @@
553
561static __hwloc_inline int
-
562hwloc_obj_is_in_subtree (hwloc_topology_t topology __hwloc_attribute_unused, hwloc_obj_t obj, hwloc_obj_t subtree_root) __hwloc_attribute_pure;
+
562hwloc_obj_is_in_subtree (hwloc_topology_t topology __hwloc_attribute_unused, hwloc_obj_t obj, hwloc_obj_t subtree_root) __hwloc_attribute_pure;
563static __hwloc_inline int
-
564hwloc_obj_is_in_subtree (hwloc_topology_t topology __hwloc_attribute_unused, hwloc_obj_t obj, hwloc_obj_t subtree_root)
+
564hwloc_obj_is_in_subtree (hwloc_topology_t topology __hwloc_attribute_unused, hwloc_obj_t obj, hwloc_obj_t subtree_root)
565{
566 return obj->cpuset && subtree_root->cpuset && hwloc_bitmap_isincluded(obj->cpuset, subtree_root->cpuset);
567}
@@ -359,7 +359,7 @@
568
579static __hwloc_inline hwloc_obj_t
-
580hwloc_get_next_child (hwloc_topology_t topology __hwloc_attribute_unused, hwloc_obj_t parent, hwloc_obj_t prev)
+
580hwloc_get_next_child (hwloc_topology_t topology __hwloc_attribute_unused, hwloc_obj_t parent, hwloc_obj_t prev)
581{
582 hwloc_obj_t obj;
583 int state = 0;
@@ -392,7 +392,7 @@
609
641static __hwloc_inline int
- +
643 unsigned cachelevel, hwloc_obj_cache_type_t cachetype)
644{
645 int depth;
@@ -423,12 +423,12 @@
670
675static __hwloc_inline hwloc_obj_t
-
676hwloc_get_cache_covering_cpuset (hwloc_topology_t topology, hwloc_const_cpuset_t set) __hwloc_attribute_pure;
+
676hwloc_get_cache_covering_cpuset (hwloc_topology_t topology, hwloc_const_cpuset_t set) __hwloc_attribute_pure;
677static __hwloc_inline hwloc_obj_t
- +
679{
-
680 hwloc_obj_t current = hwloc_get_obj_covering_cpuset(topology, set);
+
680 hwloc_obj_t current = hwloc_get_obj_covering_cpuset(topology, set);
681 while (current) {
682 if (hwloc_obj_type_is_dcache(current->type))
683 return current;
@@ -439,10 +439,10 @@
688
694static __hwloc_inline hwloc_obj_t
-
695hwloc_get_shared_cache_covering_obj (hwloc_topology_t topology __hwloc_attribute_unused, hwloc_obj_t obj) __hwloc_attribute_pure;
+
695hwloc_get_shared_cache_covering_obj (hwloc_topology_t topology __hwloc_attribute_unused, hwloc_obj_t obj) __hwloc_attribute_pure;
696static __hwloc_inline hwloc_obj_t
- +
698{
699 hwloc_obj_t current = obj->parent;
700 if (!obj->cpuset)
@@ -460,13 +460,13 @@
742HWLOC_DECLSPEC int hwloc_bitmap_singlify_per_core(hwloc_topology_t topology, hwloc_bitmap_t cpuset, unsigned which);
743
755static __hwloc_inline hwloc_obj_t
-
756hwloc_get_pu_obj_by_os_index(hwloc_topology_t topology, unsigned os_index) __hwloc_attribute_pure;
+
756hwloc_get_pu_obj_by_os_index(hwloc_topology_t topology, unsigned os_index) __hwloc_attribute_pure;
757static __hwloc_inline hwloc_obj_t
- +
759{
760 hwloc_obj_t obj = NULL;
-
761 while ((obj = hwloc_get_next_obj_by_type(topology, HWLOC_OBJ_PU, obj)) != NULL)
+
761 while ((obj = hwloc_get_next_obj_by_type(topology, HWLOC_OBJ_PU, obj)) != NULL)
762 if (obj->os_index == os_index)
763 return obj;
764 return NULL;
@@ -474,13 +474,13 @@
766
778static __hwloc_inline hwloc_obj_t
-
779hwloc_get_numanode_obj_by_os_index(hwloc_topology_t topology, unsigned os_index) __hwloc_attribute_pure;
+
779hwloc_get_numanode_obj_by_os_index(hwloc_topology_t topology, unsigned os_index) __hwloc_attribute_pure;
780static __hwloc_inline hwloc_obj_t
- +
782{
783 hwloc_obj_t obj = NULL;
-
784 while ((obj = hwloc_get_next_obj_by_type(topology, HWLOC_OBJ_NUMANODE, obj)) != NULL)
+
784 while ((obj = hwloc_get_next_obj_by_type(topology, HWLOC_OBJ_NUMANODE, obj)) != NULL)
785 if (obj->os_index == os_index)
786 return obj;
787 return NULL;
@@ -491,35 +491,35 @@
802HWLOC_DECLSPEC unsigned hwloc_get_closest_objs (hwloc_topology_t topology, hwloc_obj_t src, hwloc_obj_t * __hwloc_restrict objs, unsigned max);
803
818static __hwloc_inline hwloc_obj_t
- +
820 hwloc_obj_type_t type1, unsigned idx1,
821 hwloc_obj_type_t type2, unsigned idx2) __hwloc_attribute_pure;
822static __hwloc_inline hwloc_obj_t
- +
824 hwloc_obj_type_t type1, unsigned idx1,
825 hwloc_obj_type_t type2, unsigned idx2)
826{
827 hwloc_obj_t obj;
-
828 obj = hwloc_get_obj_by_type (topology, type1, idx1);
+
828 obj = hwloc_get_obj_by_type (topology, type1, idx1);
829 if (!obj)
830 return NULL;
-
831 return hwloc_get_obj_inside_cpuset_by_type(topology, obj->cpuset, type2, idx2);
+
831 return hwloc_get_obj_inside_cpuset_by_type(topology, obj->cpuset, type2, idx2);
832}
833
854static __hwloc_inline hwloc_obj_t
-
855hwloc_get_obj_below_array_by_type (hwloc_topology_t topology, int nr, hwloc_obj_type_t *typev, unsigned *idxv) __hwloc_attribute_pure;
+
855hwloc_get_obj_below_array_by_type (hwloc_topology_t topology, int nr, hwloc_obj_type_t *typev, unsigned *idxv) __hwloc_attribute_pure;
856static __hwloc_inline hwloc_obj_t
- +
858{
-
859 hwloc_obj_t obj = hwloc_get_root_obj(topology);
+
859 hwloc_obj_t obj = hwloc_get_root_obj(topology);
860 int i;
861 for(i=0; i<nr; i++) {
862 if (!obj)
863 return NULL;
-
864 obj = hwloc_get_obj_inside_cpuset_by_type(topology, obj->cpuset, typev[i], idxv[i]);
+
864 obj = hwloc_get_obj_inside_cpuset_by_type(topology, obj->cpuset, typev[i], idxv[i]);
865 }
866 return obj;
867}
@@ -538,7 +538,7 @@
928
959static __hwloc_inline int
- +
961 hwloc_obj_t *roots, unsigned n_roots,
962 hwloc_cpuset_t *set,
963 unsigned n,
@@ -589,7 +589,7 @@
1008 }
1009 } else {
1010 /* Still more to distribute, recurse into children */
-
1011 hwloc_distrib(topology, root->children, root->arity, cpusetp, chunk, until, flags);
+
1011 hwloc_distrib(topology, root->children, root->arity, cpusetp, chunk, until, flags);
1012 }
1013 cpusetp += chunk;
1014 given += chunk;
@@ -620,13 +620,13 @@
1130
1154static __hwloc_inline int
- +
1156{
1158 hwloc_obj_t obj = NULL;
-
1161 while ((obj = hwloc_get_next_obj_covering_cpuset_by_depth(topology, _cpuset, depth, obj)) != NULL)
+
1161 while ((obj = hwloc_get_next_obj_covering_cpuset_by_depth(topology, _cpuset, depth, obj)) != NULL)
1162 if (hwloc_bitmap_set(nodeset, obj->os_index) < 0)
1163 return -1;
1164 return 0;
@@ -635,13 +635,13 @@
1166
1181static __hwloc_inline int
- +
1183{
1185 hwloc_obj_t obj = NULL;
1187 hwloc_bitmap_zero(_cpuset);
-
1188 while ((obj = hwloc_get_next_obj_by_depth(topology, depth, obj)) != NULL) {
+
1188 while ((obj = hwloc_get_next_obj_by_depth(topology, depth, obj)) != NULL) {
1190 /* no need to check obj->cpuset because objects in levels always have a cpuset */
1191 if (hwloc_bitmap_or(_cpuset, _cpuset, obj->cpuset) < 0)
@@ -653,7 +653,7 @@
1196
1220static __hwloc_inline hwloc_obj_t
-
1221hwloc_get_non_io_ancestor_obj(hwloc_topology_t topology __hwloc_attribute_unused,
+
1221hwloc_get_non_io_ancestor_obj(hwloc_topology_t topology __hwloc_attribute_unused,
1222 hwloc_obj_t ioobj)
1223{
1224 hwloc_obj_t obj = ioobj;
@@ -666,19 +666,19 @@
1230
1237static __hwloc_inline hwloc_obj_t
1242
1248static __hwloc_inline hwloc_obj_t
- +
1250 unsigned domain, unsigned bus, unsigned dev, unsigned func)
1251{
1252 hwloc_obj_t obj = NULL;
-
1253 while ((obj = hwloc_get_next_pcidev(topology, obj)) != NULL) {
+
1253 while ((obj = hwloc_get_next_pcidev(topology, obj)) != NULL) {
1254 if (obj->attr->pcidev.domain == domain
1255 && obj->attr->pcidev.bus == bus
1256 && obj->attr->pcidev.dev == dev
@@ -691,7 +691,7 @@
1262
1268static __hwloc_inline hwloc_obj_t
- +
1270{
1271 unsigned domain = 0; /* default */
1272 unsigned bus, dev, func;
@@ -702,23 +702,23 @@
1277 return NULL;
1278 }
1279
-
1280 return hwloc_get_pcidev_by_busid(topology, domain, bus, dev, func);
+
1280 return hwloc_get_pcidev_by_busid(topology, domain, bus, dev, func);
1281}
1282
1289static __hwloc_inline hwloc_obj_t
1294
1301static __hwloc_inline hwloc_obj_t
1306
@@ -728,7 +728,7 @@
1310 */
1311static __hwloc_inline int
- +
1313 unsigned domain, unsigned bus)
1314{
1315 return bridge->type == HWLOC_OBJ_BRIDGE
@@ -760,12 +760,12 @@
@ HWLOC_OBJ_NUMANODE
NUMA node. An object that contains memory that is directly and byte-accessible to the host processors...
Definition hwloc.h:257
@ HWLOC_OBJ_PU
Processing Unit, or (Logical) Processor. An execution unit (may share a core with some other logical ...
Definition hwloc.h:222
struct hwloc_topology * hwloc_topology_t
Topology context.
Definition hwloc.h:743
-
static hwloc_obj_t hwloc_get_root_obj(hwloc_topology_t topology)
Returns the top-object of the topology-tree.
+
hwloc_obj_t hwloc_get_obj_by_type(hwloc_topology_t topology, hwloc_obj_type_t type, unsigned idx)
Returns the topology object at logical index idx with type type.
hwloc_obj_t hwloc_get_obj_by_depth(hwloc_topology_t topology, int depth, unsigned idx)
Returns the topology object at logical index idx from depth depth.
-
static hwloc_obj_t hwloc_get_obj_by_type(hwloc_topology_t topology, hwloc_obj_type_t type, unsigned idx)
Returns the topology object at logical index idx with type type.
-
static hwloc_obj_t hwloc_get_next_obj_by_type(hwloc_topology_t topology, hwloc_obj_type_t type, hwloc_obj_t prev)
Returns the next object of type type.
+
hwloc_obj_t hwloc_get_next_obj_by_depth(hwloc_topology_t topology, int depth, hwloc_obj_t prev)
Returns the next object at depth depth.
+
hwloc_obj_t hwloc_get_next_obj_by_type(hwloc_topology_t topology, hwloc_obj_type_t type, hwloc_obj_t prev)
Returns the next object of type type.
int hwloc_get_type_depth(hwloc_topology_t topology, hwloc_obj_type_t type)
Returns the depth of objects of type type.
-
static hwloc_obj_t hwloc_get_next_obj_by_depth(hwloc_topology_t topology, int depth, hwloc_obj_t prev)
Returns the next object at depth depth.
+
hwloc_obj_t hwloc_get_root_obj(hwloc_topology_t topology)
Returns the top-object of the topology-tree.
@ HWLOC_TYPE_DEPTH_UNKNOWN
No object of given type exists in the topology.
Definition hwloc.h:880
@ HWLOC_TYPE_DEPTH_MULTIPLE
Objects of given type exist at different depth in the topology (only for Groups).
Definition hwloc.h:881
int hwloc_obj_type_is_memory(hwloc_obj_type_t type)
Check whether an object type is Memory.
@@ -774,36 +774,36 @@
int hwloc_obj_type_is_normal(hwloc_obj_type_t type)
Check whether an object type is Normal.
int hwloc_obj_type_is_icache(hwloc_obj_type_t type)
Check whether an object type is a CPU Instruction Cache,.
int hwloc_obj_type_is_io(hwloc_obj_type_t type)
Check whether an object type is I/O.
-
static int hwloc_get_nbobjs_inside_cpuset_by_type(hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_obj_type_t type)
Return the number of objects of type type included in CPU set set.
Definition helper.h:315
-
static hwloc_obj_t hwloc_get_obj_inside_cpuset_by_type(hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_obj_type_t type, unsigned idx)
Return the idx -th object of type type included in CPU set set.
Definition helper.h:259
int hwloc_get_largest_objs_inside_cpuset(hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_obj_t *restrict objs, int max)
Get the set of largest objects covering exactly a given cpuset set.
-
static int hwloc_get_obj_index_inside_cpuset(hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_obj_t obj)
Return the logical index among the objects included in CPU set set.
Definition helper.h:346
-
static hwloc_obj_t hwloc_get_first_largest_obj_inside_cpuset(hwloc_topology_t topology, hwloc_const_cpuset_t set)
Get the first largest object included in the given cpuset set.
Definition helper.h:123
-
static hwloc_obj_t hwloc_get_next_obj_inside_cpuset_by_depth(hwloc_topology_t topology, hwloc_const_cpuset_t set, int depth, hwloc_obj_t prev)
Return the next object at depth depth included in CPU set set.
Definition helper.h:170
-
static unsigned hwloc_get_nbobjs_inside_cpuset_by_depth(hwloc_topology_t topology, hwloc_const_cpuset_t set, int depth)
Return the number of objects at depth depth included in CPU set set.
Definition helper.h:283
-
static hwloc_obj_t hwloc_get_obj_inside_cpuset_by_depth(hwloc_topology_t topology, hwloc_const_cpuset_t set, int depth, unsigned idx)
Return the (logically) idx -th object at depth depth included in CPU set set.
Definition helper.h:223
-
static hwloc_obj_t hwloc_get_next_obj_inside_cpuset_by_type(hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_obj_type_t type, hwloc_obj_t prev)
Return the next object of type type included in CPU set set.
Definition helper.h:200
-
static hwloc_obj_t hwloc_get_child_covering_cpuset(hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_obj_t parent)
Get the child covering at least CPU set set.
Definition helper.h:378
-
static hwloc_obj_t hwloc_get_obj_covering_cpuset(hwloc_topology_t topology, hwloc_const_cpuset_t set)
Get the lowest object covering at least CPU set set.
Definition helper.h:401
-
static hwloc_obj_t hwloc_get_next_obj_covering_cpuset_by_type(hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_obj_type_t type, hwloc_obj_t prev)
Iterate through same-type objects covering at least CPU set set.
Definition helper.h:456
-
static hwloc_obj_t hwloc_get_next_obj_covering_cpuset_by_depth(hwloc_topology_t topology, hwloc_const_cpuset_t set, int depth, hwloc_obj_t prev)
Iterate through same-depth objects covering at least CPU set set.
Definition helper.h:428
-
static hwloc_obj_t hwloc_get_next_child(hwloc_topology_t topology, hwloc_obj_t parent, hwloc_obj_t prev)
Return the next child.
Definition helper.h:580
-
static int hwloc_obj_is_in_subtree(hwloc_topology_t topology, hwloc_obj_t obj, hwloc_obj_t subtree_root)
Returns true if obj is inside the subtree beginning with ancestor object subtree_root.
Definition helper.h:564
-
static hwloc_obj_t hwloc_get_ancestor_obj_by_type(hwloc_topology_t topology, hwloc_obj_type_t type, hwloc_obj_t obj)
Returns the ancestor object of obj with type type.
Definition helper.h:517
-
static hwloc_obj_t hwloc_get_ancestor_obj_by_depth(hwloc_topology_t topology, int depth, hwloc_obj_t obj)
Returns the ancestor object of obj at depth depth.
Definition helper.h:491
-
static hwloc_obj_t hwloc_get_common_ancestor_obj(hwloc_topology_t topology, hwloc_obj_t obj1, hwloc_obj_t obj2)
Returns the common parent object to objects obj1 and obj2.
Definition helper.h:534
-
static hwloc_obj_t hwloc_get_shared_cache_covering_obj(hwloc_topology_t topology, hwloc_obj_t obj)
Get the first data (or unified) cache shared between an object and somebody else.
Definition helper.h:697
-
static hwloc_obj_t hwloc_get_cache_covering_cpuset(hwloc_topology_t topology, hwloc_const_cpuset_t set)
Get the first data (or unified) cache covering a cpuset set.
Definition helper.h:678
-
static int hwloc_get_cache_type_depth(hwloc_topology_t topology, unsigned cachelevel, hwloc_obj_cache_type_t cachetype)
Find the depth of cache objects matching cache level and type.
Definition helper.h:642
+
hwloc_obj_t hwloc_get_obj_inside_cpuset_by_depth(hwloc_topology_t topology, hwloc_const_cpuset_t set, int depth, unsigned idx)
Return the (logically) idx -th object at depth depth included in CPU set set.
Definition helper.h:223
+
int hwloc_get_obj_index_inside_cpuset(hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_obj_t obj)
Return the logical index among the objects included in CPU set set.
Definition helper.h:346
+
int hwloc_get_nbobjs_inside_cpuset_by_type(hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_obj_type_t type)
Return the number of objects of type type included in CPU set set.
Definition helper.h:315
+
hwloc_obj_t hwloc_get_first_largest_obj_inside_cpuset(hwloc_topology_t topology, hwloc_const_cpuset_t set)
Get the first largest object included in the given cpuset set.
Definition helper.h:123
+
unsigned hwloc_get_nbobjs_inside_cpuset_by_depth(hwloc_topology_t topology, hwloc_const_cpuset_t set, int depth)
Return the number of objects at depth depth included in CPU set set.
Definition helper.h:283
+
hwloc_obj_t hwloc_get_next_obj_inside_cpuset_by_type(hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_obj_type_t type, hwloc_obj_t prev)
Return the next object of type type included in CPU set set.
Definition helper.h:200
+
hwloc_obj_t hwloc_get_next_obj_inside_cpuset_by_depth(hwloc_topology_t topology, hwloc_const_cpuset_t set, int depth, hwloc_obj_t prev)
Return the next object at depth depth included in CPU set set.
Definition helper.h:170
+
hwloc_obj_t hwloc_get_obj_inside_cpuset_by_type(hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_obj_type_t type, unsigned idx)
Return the idx -th object of type type included in CPU set set.
Definition helper.h:259
+
hwloc_obj_t hwloc_get_child_covering_cpuset(hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_obj_t parent)
Get the child covering at least CPU set set.
Definition helper.h:378
+
hwloc_obj_t hwloc_get_obj_covering_cpuset(hwloc_topology_t topology, hwloc_const_cpuset_t set)
Get the lowest object covering at least CPU set set.
Definition helper.h:401
+
hwloc_obj_t hwloc_get_next_obj_covering_cpuset_by_depth(hwloc_topology_t topology, hwloc_const_cpuset_t set, int depth, hwloc_obj_t prev)
Iterate through same-depth objects covering at least CPU set set.
Definition helper.h:428
+
hwloc_obj_t hwloc_get_next_obj_covering_cpuset_by_type(hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_obj_type_t type, hwloc_obj_t prev)
Iterate through same-type objects covering at least CPU set set.
Definition helper.h:456
+
int hwloc_obj_is_in_subtree(hwloc_topology_t topology, hwloc_obj_t obj, hwloc_obj_t subtree_root)
Returns true if obj is inside the subtree beginning with ancestor object subtree_root.
Definition helper.h:564
+
hwloc_obj_t hwloc_get_next_child(hwloc_topology_t topology, hwloc_obj_t parent, hwloc_obj_t prev)
Return the next child.
Definition helper.h:580
+
hwloc_obj_t hwloc_get_ancestor_obj_by_type(hwloc_topology_t topology, hwloc_obj_type_t type, hwloc_obj_t obj)
Returns the ancestor object of obj with type type.
Definition helper.h:517
+
hwloc_obj_t hwloc_get_ancestor_obj_by_depth(hwloc_topology_t topology, int depth, hwloc_obj_t obj)
Returns the ancestor object of obj at depth depth.
Definition helper.h:491
+
hwloc_obj_t hwloc_get_common_ancestor_obj(hwloc_topology_t topology, hwloc_obj_t obj1, hwloc_obj_t obj2)
Returns the common parent object to objects obj1 and obj2.
Definition helper.h:534
+
hwloc_obj_t hwloc_get_shared_cache_covering_obj(hwloc_topology_t topology, hwloc_obj_t obj)
Get the first data (or unified) cache shared between an object and somebody else.
Definition helper.h:697
+
int hwloc_get_cache_type_depth(hwloc_topology_t topology, unsigned cachelevel, hwloc_obj_cache_type_t cachetype)
Find the depth of cache objects matching cache level and type.
Definition helper.h:642
+
hwloc_obj_t hwloc_get_cache_covering_cpuset(hwloc_topology_t topology, hwloc_const_cpuset_t set)
Get the first data (or unified) cache covering a cpuset set.
Definition helper.h:678
int hwloc_bitmap_singlify_per_core(hwloc_topology_t topology, hwloc_bitmap_t cpuset, unsigned which)
Remove simultaneous multithreading PUs from a CPU set.
unsigned hwloc_get_closest_objs(hwloc_topology_t topology, hwloc_obj_t src, hwloc_obj_t *restrict objs, unsigned max)
Do a depth-first traversal of the topology to find and sort.
-
static hwloc_obj_t hwloc_get_pu_obj_by_os_index(hwloc_topology_t topology, unsigned os_index)
Returns the object of type HWLOC_OBJ_PU with os_index.
Definition helper.h:758
-
static hwloc_obj_t hwloc_get_obj_below_by_type(hwloc_topology_t topology, hwloc_obj_type_t type1, unsigned idx1, hwloc_obj_type_t type2, unsigned idx2)
Find an object below another object, both specified by types and indexes.
Definition helper.h:823
+
hwloc_obj_t hwloc_get_obj_below_by_type(hwloc_topology_t topology, hwloc_obj_type_t type1, unsigned idx1, hwloc_obj_type_t type2, unsigned idx2)
Find an object below another object, both specified by types and indexes.
Definition helper.h:823
hwloc_obj_t hwloc_get_obj_with_same_locality(hwloc_topology_t topology, hwloc_obj_t src, hwloc_obj_type_t type, const char *subtype, const char *nameprefix, unsigned long flags)
Return an object of a different type with same locality.
-
static hwloc_obj_t hwloc_get_numanode_obj_by_os_index(hwloc_topology_t topology, unsigned os_index)
Returns the object of type HWLOC_OBJ_NUMANODE with os_index.
Definition helper.h:781
-
static hwloc_obj_t hwloc_get_obj_below_array_by_type(hwloc_topology_t topology, int nr, hwloc_obj_type_t *typev, unsigned *idxv)
Find an object below a chain of objects specified by types and indexes.
Definition helper.h:857
-
static int hwloc_distrib(hwloc_topology_t topology, hwloc_obj_t *roots, unsigned n_roots, hwloc_cpuset_t *set, unsigned n, int until, unsigned long flags)
Distribute n items over the topology under roots.
Definition helper.h:960
+
hwloc_obj_t hwloc_get_pu_obj_by_os_index(hwloc_topology_t topology, unsigned os_index)
Returns the object of type HWLOC_OBJ_PU with os_index.
Definition helper.h:758
+
hwloc_obj_t hwloc_get_numanode_obj_by_os_index(hwloc_topology_t topology, unsigned os_index)
Returns the object of type HWLOC_OBJ_NUMANODE with os_index.
Definition helper.h:781
+
hwloc_obj_t hwloc_get_obj_below_array_by_type(hwloc_topology_t topology, int nr, hwloc_obj_type_t *typev, unsigned *idxv)
Find an object below a chain of objects specified by types and indexes.
Definition helper.h:857
hwloc_distrib_flags_e
Flags to be given to hwloc_distrib().
Definition helper.h:922
+
int hwloc_distrib(hwloc_topology_t topology, hwloc_obj_t *roots, unsigned n_roots, hwloc_cpuset_t *set, unsigned n, int until, unsigned long flags)
Distribute n items over the topology under roots.
Definition helper.h:960
@ HWLOC_DISTRIB_FLAG_REVERSE
Distrib in reverse order, starting from the last objects.
Definition helper.h:926
hwloc_const_nodeset_t hwloc_topology_get_allowed_nodeset(hwloc_topology_t topology)
Get allowed node set.
hwloc_const_nodeset_t hwloc_topology_get_topology_nodeset(hwloc_topology_t topology)
Get topology node set.
@@ -811,15 +811,15 @@
hwloc_const_nodeset_t hwloc_topology_get_complete_nodeset(hwloc_topology_t topology)
Get complete node set.
hwloc_const_cpuset_t hwloc_topology_get_topology_cpuset(hwloc_topology_t topology)
Get topology CPU set.
hwloc_const_cpuset_t hwloc_topology_get_complete_cpuset(hwloc_topology_t topology)
Get complete CPU set.
-
static int hwloc_cpuset_to_nodeset(hwloc_topology_t topology, hwloc_const_cpuset_t _cpuset, hwloc_nodeset_t nodeset)
Convert a CPU set into a NUMA node set.
Definition helper.h:1155
-
static int hwloc_cpuset_from_nodeset(hwloc_topology_t topology, hwloc_cpuset_t _cpuset, hwloc_const_nodeset_t nodeset)
Convert a NUMA node set into a CPU set.
Definition helper.h:1182
-
static int hwloc_bridge_covers_pcibus(hwloc_obj_t bridge, unsigned domain, unsigned bus)
Definition helper.h:1312
-
static hwloc_obj_t hwloc_get_pcidev_by_busidstring(hwloc_topology_t topology, const char *busid)
Find the PCI device object matching the PCI bus id given as a string xxxx:yy:zz.t or yy:zz....
Definition helper.h:1269
-
static hwloc_obj_t hwloc_get_next_pcidev(hwloc_topology_t topology, hwloc_obj_t prev)
Get the next PCI device in the system.
Definition helper.h:1238
-
static hwloc_obj_t hwloc_get_next_osdev(hwloc_topology_t topology, hwloc_obj_t prev)
Get the next OS device in the system.
Definition helper.h:1290
-
static hwloc_obj_t hwloc_get_next_bridge(hwloc_topology_t topology, hwloc_obj_t prev)
Get the next bridge in the system.
Definition helper.h:1302
-
static hwloc_obj_t hwloc_get_pcidev_by_busid(hwloc_topology_t topology, unsigned domain, unsigned bus, unsigned dev, unsigned func)
Find the PCI device object matching the PCI bus id given domain, bus device and function PCI bus id.
Definition helper.h:1249
-
static hwloc_obj_t hwloc_get_non_io_ancestor_obj(hwloc_topology_t topology, hwloc_obj_t ioobj)
Get the first non-I/O ancestor object.
Definition helper.h:1221
+
int hwloc_cpuset_to_nodeset(hwloc_topology_t topology, hwloc_const_cpuset_t _cpuset, hwloc_nodeset_t nodeset)
Convert a CPU set into a NUMA node set.
Definition helper.h:1155
+
int hwloc_cpuset_from_nodeset(hwloc_topology_t topology, hwloc_cpuset_t _cpuset, hwloc_const_nodeset_t nodeset)
Convert a NUMA node set into a CPU set.
Definition helper.h:1182
+
hwloc_obj_t hwloc_get_pcidev_by_busid(hwloc_topology_t topology, unsigned domain, unsigned bus, unsigned dev, unsigned func)
Find the PCI device object matching the PCI bus id given domain, bus device and function PCI bus id.
Definition helper.h:1249
+
hwloc_obj_t hwloc_get_next_bridge(hwloc_topology_t topology, hwloc_obj_t prev)
Get the next bridge in the system.
Definition helper.h:1302
+
hwloc_obj_t hwloc_get_next_osdev(hwloc_topology_t topology, hwloc_obj_t prev)
Get the next OS device in the system.
Definition helper.h:1290
+
hwloc_obj_t hwloc_get_next_pcidev(hwloc_topology_t topology, hwloc_obj_t prev)
Get the next PCI device in the system.
Definition helper.h:1238
+
hwloc_obj_t hwloc_get_non_io_ancestor_obj(hwloc_topology_t topology, hwloc_obj_t ioobj)
Get the first non-I/O ancestor object.
Definition helper.h:1221
+
int hwloc_bridge_covers_pcibus(hwloc_obj_t bridge, unsigned domain, unsigned bus)
Definition helper.h:1312
+
hwloc_obj_t hwloc_get_pcidev_by_busidstring(hwloc_topology_t topology, const char *busid)
Find the PCI device object matching the PCI bus id given as a string xxxx:yy:zz.t or yy:zz....
Definition helper.h:1269
int hwloc_bitmap_weight(hwloc_const_bitmap_t bitmap)
Compute the "weight" of bitmap bitmap (i.e., number of indexes that are in the bitmap).
int hwloc_bitmap_isincluded(hwloc_const_bitmap_t sub_bitmap, hwloc_const_bitmap_t super_bitmap)
Test whether bitmap sub_bitmap is part of bitmap super_bitmap.
int hwloc_bitmap_set(hwloc_bitmap_t bitmap, unsigned id)
Add index id in bitmap bitmap.
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00077_source.php b/projects/hwloc/doc/v2.12.0/a00077_source.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00077_source.php rename to projects/hwloc/doc/v2.12.0/a00077_source.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00080_source.php b/projects/hwloc/doc/v2.12.0/a00080_source.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00080_source.php rename to projects/hwloc/doc/v2.12.0/a00080_source.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00083_source.php b/projects/hwloc/doc/v2.12.0/a00083_source.php similarity index 79% rename from projects/hwloc/doc/v2.12.0rc1/a00083_source.php rename to projects/hwloc/doc/v2.12.0/a00083_source.php index d9275930ff..ec75cfd233 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00083_source.php +++ b/projects/hwloc/doc/v2.12.0/a00083_source.php @@ -37,7 +37,7 @@
1/*
-
2 * Copyright © 2010-2024 Inria. All rights reserved.
+
2 * Copyright © 2010-2025 Inria. All rights reserved.
3 * See COPYING in top-level directory.
4 */
5
@@ -109,92 +109,92 @@
214
228
- -
237
- - + +
241
+ +
-
245
-
274HWLOC_DECLSPEC int hwloc_distances_transform(hwloc_topology_t topology, struct hwloc_distances_s *distances,
-
275 enum hwloc_distances_transform_e transform,
-
276 void *transform_attr,
-
277 unsigned long flags);
-
278
-
292static __hwloc_inline int
-
- -
294{
-
295 unsigned i;
-
296 for(i=0; i<distances->nbobjs; i++)
-
297 if (distances->objs[i] == obj)
-
298 return (int)i;
-
299 return -1;
-
300}
+
252
+
281HWLOC_DECLSPEC int hwloc_distances_transform(hwloc_topology_t topology, struct hwloc_distances_s *distances,
+
282 enum hwloc_distances_transform_e transform,
+
283 void *transform_attr,
+
284 unsigned long flags);
+
285
+
299static __hwloc_inline int
+
+ +
301{
+
302 unsigned i;
+
303 for(i=0; i<distances->nbobjs; i++)
+
304 if (distances->objs[i] == obj)
+
305 return (int)i;
+
306 return -1;
+
307}
-
301
-
310static __hwloc_inline int
-
- -
312 hwloc_obj_t obj1, hwloc_obj_t obj2,
-
313 hwloc_uint64_t *value1to2, hwloc_uint64_t *value2to1)
-
314{
-
315 int i1 = hwloc_distances_obj_index(distances, obj1);
-
316 int i2 = hwloc_distances_obj_index(distances, obj2);
-
317 if (i1 < 0 || i2 < 0)
-
318 return -1;
-
319 *value1to2 = distances->values[i1 * distances->nbobjs + i2];
-
320 *value2to1 = distances->values[i2 * distances->nbobjs + i1];
-
321 return 0;
-
322}
+
308
+
317static __hwloc_inline int
+
+ +
319 hwloc_obj_t obj1, hwloc_obj_t obj2,
+
320 hwloc_uint64_t *value1to2, hwloc_uint64_t *value2to1)
+
321{
+
322 int i1 = hwloc_distances_obj_index(distances, obj1);
+
323 int i2 = hwloc_distances_obj_index(distances, obj2);
+
324 if (i1 < 0 || i2 < 0)
+
325 return -1;
+
326 *value1to2 = distances->values[i1 * distances->nbobjs + i2];
+
327 *value2to1 = distances->values[i2 * distances->nbobjs + i1];
+
328 return 0;
+
329}
-
323
- -
348
-
371HWLOC_DECLSPEC hwloc_distances_add_handle_t
- -
373 const char *name, unsigned long kind,
-
374 unsigned long flags);
-
375
- - -
400 unsigned nbobjs, hwloc_obj_t *objs,
-
401 hwloc_uint64_t *values,
-
402 unsigned long flags);
-
403
-
- - - - +
330
+ +
355
+
378HWLOC_DECLSPEC hwloc_distances_add_handle_t
+ +
380 const char *name, unsigned long kind,
+
381 unsigned long flags);
+
382
+ + +
407 unsigned nbobjs, hwloc_obj_t *objs,
+
408 hwloc_uint64_t *values,
+
409 unsigned long flags);
+
410
+ -
419
- - -
438 unsigned long flags);
-
439
-
458HWLOC_DECLSPEC int hwloc_distances_remove(hwloc_topology_t topology);
-
459
-
466HWLOC_DECLSPEC int hwloc_distances_remove_by_depth(hwloc_topology_t topology, int depth);
-
467
-
474static __hwloc_inline int
-
- -
476{
-
477 int depth = hwloc_get_type_depth(topology, type);
- -
479 return 0;
-
480 return hwloc_distances_remove_by_depth(topology, depth);
-
481}
+
426
+ + +
445 unsigned long flags);
+
446
+
465HWLOC_DECLSPEC int hwloc_distances_remove(hwloc_topology_t topology);
+
466
+
473HWLOC_DECLSPEC int hwloc_distances_remove_by_depth(hwloc_topology_t topology, int depth);
+
474
+
481static __hwloc_inline int
+
+ +
483{
+
484 int depth = hwloc_get_type_depth(topology, type);
+ +
486 return 0;
+
487 return hwloc_distances_remove_by_depth(topology, depth);
+
488}
-
482
-
489HWLOC_DECLSPEC int hwloc_distances_release_remove(hwloc_topology_t topology, struct hwloc_distances_s *distances);
-
490
-
494#ifdef __cplusplus
-
495} /* extern "C" */
-
496#endif
+
489
+
496HWLOC_DECLSPEC int hwloc_distances_release_remove(hwloc_topology_t topology, struct hwloc_distances_s *distances);
497
-
498
-
499#endif /* HWLOC_DISTANCES_H */
+
501#ifdef __cplusplus
+
502} /* extern "C" */
+
503#endif
+
504
+
505
+
506#endif /* HWLOC_DISTANCES_H */
hwloc_obj_type_t
Type of topology object.
Definition hwloc.h:197
struct hwloc_topology * hwloc_topology_t
Topology context.
Definition hwloc.h:743
int hwloc_get_type_depth(hwloc_topology_t topology, hwloc_obj_type_t type)
Returns the depth of objects of type type.
@@ -209,8 +209,8 @@
hwloc_distances_kind_e
Kinds of distance matrices.
Definition distances.h:78
int hwloc_distances_transform(hwloc_topology_t topology, struct hwloc_distances_s *distances, enum hwloc_distances_transform_e transform, void *transform_attr, unsigned long flags)
Apply a transformation to a distances structure.
const char * hwloc_distances_get_name(hwloc_topology_t topology, struct hwloc_distances_s *distances)
Get a description of what a distances structure contains.
-
@ HWLOC_DISTANCES_TRANSFORM_TRANSITIVE_CLOSURE
Apply a transitive closure to the matrix to connect objects across switches. This currently only appl...
Definition distances.h:243
-
@ HWLOC_DISTANCES_TRANSFORM_MERGE_SWITCH_PORTS
Merge switches with multiple ports into a single object. This currently only applies to NVSwitches wh...
Definition distances.h:236
+
@ HWLOC_DISTANCES_TRANSFORM_TRANSITIVE_CLOSURE
Apply a transitive closure to the matrix to connect objects across switches.
Definition distances.h:250
+
@ HWLOC_DISTANCES_TRANSFORM_MERGE_SWITCH_PORTS
Merge switches with multiple ports into a single object.
Definition distances.h:240
@ HWLOC_DISTANCES_TRANSFORM_LINKS
Replace bandwidth values with a number of links.
Definition distances.h:227
@ HWLOC_DISTANCES_TRANSFORM_REMOVE_NULL
Remove NULL objects from the distances structure.
Definition distances.h:213
@ HWLOC_DISTANCES_KIND_FROM_USER
These distances were provided by the user.
Definition distances.h:86
@@ -218,19 +218,19 @@
@ HWLOC_DISTANCES_KIND_FROM_OS
These distances were obtained from the operating system or hardware.
Definition distances.h:82
@ HWLOC_DISTANCES_KIND_HETEROGENEOUS_TYPES
This distances structure covers objects of different types. This may apply to the "NVLinkBandwidth" s...
Definition distances.h:108
@ HWLOC_DISTANCES_KIND_MEANS_LATENCY
Distance values are similar to latencies between objects. Values are smaller for closer objects,...
Definition distances.h:94
-
static int hwloc_distances_obj_pair_values(struct hwloc_distances_s *distances, hwloc_obj_t obj1, hwloc_obj_t obj2, hwloc_uint64_t *value1to2, hwloc_uint64_t *value2to1)
Find the values between two objects in a distance matrices.
Definition distances.h:311
-
static int hwloc_distances_obj_index(struct hwloc_distances_s *distances, hwloc_obj_t obj)
Find the index of an object in a distances structure.
Definition distances.h:293
+
int hwloc_distances_obj_pair_values(struct hwloc_distances_s *distances, hwloc_obj_t obj1, hwloc_obj_t obj2, hwloc_uint64_t *value1to2, hwloc_uint64_t *value2to1)
Find the values between two objects in a distance matrices.
Definition distances.h:318
+
int hwloc_distances_obj_index(struct hwloc_distances_s *distances, hwloc_obj_t obj)
Find the index of an object in a distances structure.
Definition distances.h:300
int hwloc_distances_add_commit(hwloc_topology_t topology, hwloc_distances_add_handle_t handle, unsigned long flags)
Commit a new distances structure.
-
hwloc_distances_add_flag_e
Flags for adding a new distances to a topology.
Definition distances.h:405
-
void * hwloc_distances_add_handle_t
Handle to a new distances structure during its addition to the topology.
Definition distances.h:347
+
hwloc_distances_add_flag_e
Flags for adding a new distances to a topology.
Definition distances.h:412
+
void * hwloc_distances_add_handle_t
Handle to a new distances structure during its addition to the topology.
Definition distances.h:354
hwloc_distances_add_handle_t hwloc_distances_add_create(hwloc_topology_t topology, const char *name, unsigned long kind, unsigned long flags)
Create a new empty distances structure.
int hwloc_distances_add_values(hwloc_topology_t topology, hwloc_distances_add_handle_t handle, unsigned nbobjs, hwloc_obj_t *objs, hwloc_uint64_t *values, unsigned long flags)
Specify the objects and values in a new empty distances structure.
-
@ HWLOC_DISTANCES_ADD_FLAG_GROUP_INACCURATE
If grouping, consider the distance values as inaccurate and relax the comparisons during the grouping...
Definition distances.h:417
-
@ HWLOC_DISTANCES_ADD_FLAG_GROUP
Try to group objects based on the newly provided distance information. Grouping is only performed whe...
Definition distances.h:411
+
@ HWLOC_DISTANCES_ADD_FLAG_GROUP_INACCURATE
If grouping, consider the distance values as inaccurate and relax the comparisons during the grouping...
Definition distances.h:424
+
@ HWLOC_DISTANCES_ADD_FLAG_GROUP
Try to group objects based on the newly provided distance information. Grouping is only performed whe...
Definition distances.h:418
int hwloc_distances_release_remove(hwloc_topology_t topology, struct hwloc_distances_s *distances)
Release and remove the given distance matrice from the topology.
-
static int hwloc_distances_remove_by_type(hwloc_topology_t topology, hwloc_obj_type_t type)
Remove distance matrices for objects of a specific type in the topology.
Definition distances.h:475
int hwloc_distances_remove_by_depth(hwloc_topology_t topology, int depth)
Remove distance matrices for objects at a specific depth in the topology.
int hwloc_distances_remove(hwloc_topology_t topology)
Remove all distance matrices from a topology.
+
int hwloc_distances_remove_by_type(hwloc_topology_t topology, hwloc_obj_type_t type)
Remove distance matrices for objects of a specific type in the topology.
Definition distances.h:482
Structure of a topology object.
Definition hwloc.h:432
Matrix of distances between a set of objects.
Definition distances.h:53
unsigned nbobjs
Number of objects described by the distance matrix.
Definition distances.h:54
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00086_source.php b/projects/hwloc/doc/v2.12.0/a00086_source.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00086_source.php rename to projects/hwloc/doc/v2.12.0/a00086_source.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00089_source.php b/projects/hwloc/doc/v2.12.0/a00089_source.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00089_source.php rename to projects/hwloc/doc/v2.12.0/a00089_source.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00092_source.php b/projects/hwloc/doc/v2.12.0/a00092_source.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00092_source.php rename to projects/hwloc/doc/v2.12.0/a00092_source.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00095_source.php b/projects/hwloc/doc/v2.12.0/a00095_source.php similarity index 84% rename from projects/hwloc/doc/v2.12.0rc1/a00095_source.php rename to projects/hwloc/doc/v2.12.0/a00095_source.php index 0136c8abde..0973d51b3c 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00095_source.php +++ b/projects/hwloc/doc/v2.12.0/a00095_source.php @@ -58,7 +58,7 @@
27
56static __hwloc_inline int
- +
58 unsigned long *mask, unsigned long *maxnode)
59{
60 int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
@@ -69,7 +69,7 @@
65 *maxnode = (*maxnode + 8*sizeof(*mask) - 1) & ~(8*sizeof(*mask) - 1);
66 memset(mask, 0, *maxnode/8);
67
-
68 while ((node = hwloc_get_next_obj_covering_cpuset_by_depth(topology, cpuset, depth, node)) != NULL) {
+
68 while ((node = hwloc_get_next_obj_covering_cpuset_by_depth(topology, cpuset, depth, node)) != NULL) {
69 if (node->os_index >= *maxnode)
70 continue;
71 mask[node->os_index/sizeof(*mask)/8] |= 1UL << (node->os_index % (sizeof(*mask)*8));
@@ -84,7 +84,7 @@
79
92static __hwloc_inline int
- +
94 unsigned long *mask, unsigned long *maxnode)
95{
96 int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
@@ -95,7 +95,7 @@
101 *maxnode = (*maxnode + 8*sizeof(*mask) - 1) & ~(8*sizeof(*mask) - 1);
102 memset(mask, 0, *maxnode/8);
103
-
104 while ((node = hwloc_get_next_obj_by_depth(topology, depth, node)) != NULL) {
+
104 while ((node = hwloc_get_next_obj_by_depth(topology, depth, node)) != NULL) {
105 if (node->os_index >= *maxnode)
106 continue;
107 if (!hwloc_bitmap_isset(nodeset, node->os_index))
@@ -112,13 +112,13 @@
117
130static __hwloc_inline int
- +
132 const unsigned long *mask, unsigned long maxnode)
133{
134 int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
135 hwloc_obj_t node = NULL;
136 hwloc_bitmap_zero(cpuset);
-
137 while ((node = hwloc_get_next_obj_by_depth(topology, depth, node)) != NULL)
+
137 while ((node = hwloc_get_next_obj_by_depth(topology, depth, node)) != NULL)
138 if (node->os_index < maxnode
139 && (mask[node->os_index/sizeof(*mask)/8] & (1UL << (node->os_index % (sizeof(*mask)*8)))))
140 if (hwloc_bitmap_or(cpuset, cpuset, node->cpuset) < 0)
@@ -129,13 +129,13 @@
144
157static __hwloc_inline int
- +
159 const unsigned long *mask, unsigned long maxnode)
160{
161 int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
162 hwloc_obj_t node = NULL;
163 hwloc_bitmap_zero(nodeset);
-
164 while ((node = hwloc_get_next_obj_by_depth(topology, depth, node)) != NULL)
+
164 while ((node = hwloc_get_next_obj_by_depth(topology, depth, node)) != NULL)
165 if (node->os_index < maxnode
166 && (mask[node->os_index/sizeof(*mask)/8] & (1UL << (node->os_index % (sizeof(*mask)*8)))))
167 if (hwloc_bitmap_set(nodeset, node->os_index) < 0)
@@ -145,17 +145,17 @@
171
201static __hwloc_inline struct bitmask *
-
202hwloc_cpuset_to_linux_libnuma_bitmask(hwloc_topology_t topology, hwloc_const_cpuset_t cpuset) __hwloc_attribute_malloc;
+
202hwloc_cpuset_to_linux_libnuma_bitmask(hwloc_topology_t topology, hwloc_const_cpuset_t cpuset) __hwloc_attribute_malloc;
203static __hwloc_inline struct bitmask *
- +
205{
206 int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
207 hwloc_obj_t node = NULL;
208 struct bitmask *bitmask = numa_allocate_cpumask();
209 if (!bitmask)
210 return NULL;
-
211 while ((node = hwloc_get_next_obj_covering_cpuset_by_depth(topology, cpuset, depth, node)) != NULL)
+
211 while ((node = hwloc_get_next_obj_covering_cpuset_by_depth(topology, cpuset, depth, node)) != NULL)
212 if (node->attr->numanode.local_memory)
213 numa_bitmask_setbit(bitmask, node->os_index);
214 return bitmask;
@@ -163,17 +163,17 @@
216
226static __hwloc_inline struct bitmask *
-
227hwloc_nodeset_to_linux_libnuma_bitmask(hwloc_topology_t topology, hwloc_const_nodeset_t nodeset) __hwloc_attribute_malloc;
+
227hwloc_nodeset_to_linux_libnuma_bitmask(hwloc_topology_t topology, hwloc_const_nodeset_t nodeset) __hwloc_attribute_malloc;
228static __hwloc_inline struct bitmask *
- +
230{
231 int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
232 hwloc_obj_t node = NULL;
233 struct bitmask *bitmask = numa_allocate_cpumask();
234 if (!bitmask)
235 return NULL;
-
236 while ((node = hwloc_get_next_obj_by_depth(topology, depth, node)) != NULL)
+
236 while ((node = hwloc_get_next_obj_by_depth(topology, depth, node)) != NULL)
237 if (hwloc_bitmap_isset(nodeset, node->os_index) && node->attr->numanode.local_memory)
238 numa_bitmask_setbit(bitmask, node->os_index);
239 return bitmask;
@@ -182,13 +182,13 @@
241
250static __hwloc_inline int
- +
252 const struct bitmask *bitmask)
253{
254 int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
255 hwloc_obj_t node = NULL;
256 hwloc_bitmap_zero(cpuset);
-
257 while ((node = hwloc_get_next_obj_by_depth(topology, depth, node)) != NULL)
+
257 while ((node = hwloc_get_next_obj_by_depth(topology, depth, node)) != NULL)
258 if (numa_bitmask_isbitset(bitmask, node->os_index))
259 if (hwloc_bitmap_or(cpuset, cpuset, node->cpuset) < 0)
260 return -1;
@@ -198,13 +198,13 @@
263
272static __hwloc_inline int
- +
274 const struct bitmask *bitmask)
275{
276 int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
277 hwloc_obj_t node = NULL;
278 hwloc_bitmap_zero(nodeset);
-
279 while ((node = hwloc_get_next_obj_by_depth(topology, depth, node)) != NULL)
+
279 while ((node = hwloc_get_next_obj_by_depth(topology, depth, node)) != NULL)
280 if (numa_bitmask_isbitset(bitmask, node->os_index))
281 if (hwloc_bitmap_set(nodeset, node->os_index) < 0)
282 return -1;
@@ -224,21 +224,21 @@
hwloc_bitmap_t hwloc_cpuset_t
A CPU set is a bitmap whose bits are set according to CPU physical OS indexes.
Definition hwloc.h:161
@ HWLOC_OBJ_NUMANODE
NUMA node. An object that contains memory that is directly and byte-accessible to the host processors...
Definition hwloc.h:257
struct hwloc_topology * hwloc_topology_t
Topology context.
Definition hwloc.h:743
+
hwloc_obj_t hwloc_get_next_obj_by_depth(hwloc_topology_t topology, int depth, hwloc_obj_t prev)
Returns the next object at depth depth.
int hwloc_get_type_depth(hwloc_topology_t topology, hwloc_obj_type_t type)
Returns the depth of objects of type type.
-
static hwloc_obj_t hwloc_get_next_obj_by_depth(hwloc_topology_t topology, int depth, hwloc_obj_t prev)
Returns the next object at depth depth.
-
static hwloc_obj_t hwloc_get_next_obj_covering_cpuset_by_depth(hwloc_topology_t topology, hwloc_const_cpuset_t set, int depth, hwloc_obj_t prev)
Iterate through same-depth objects covering at least CPU set set.
Definition helper.h:428
+
hwloc_obj_t hwloc_get_next_obj_covering_cpuset_by_depth(hwloc_topology_t topology, hwloc_const_cpuset_t set, int depth, hwloc_obj_t prev)
Iterate through same-depth objects covering at least CPU set set.
Definition helper.h:428
int hwloc_bitmap_set(hwloc_bitmap_t bitmap, unsigned id)
Add index id in bitmap bitmap.
int hwloc_bitmap_isset(hwloc_const_bitmap_t bitmap, unsigned id)
Test whether index id is part of bitmap bitmap.
int hwloc_bitmap_or(hwloc_bitmap_t res, hwloc_const_bitmap_t bitmap1, hwloc_const_bitmap_t bitmap2)
Or bitmaps bitmap1 and bitmap2 and store the result in bitmap res.
void hwloc_bitmap_zero(hwloc_bitmap_t bitmap)
Empty the bitmap bitmap.
-
static int hwloc_cpuset_from_linux_libnuma_ulongs(hwloc_topology_t topology, hwloc_cpuset_t cpuset, const unsigned long *mask, unsigned long maxnode)
Convert the array of unsigned long mask into hwloc CPU set.
Definition linux-libnuma.h:131
-
static int hwloc_nodeset_to_linux_libnuma_ulongs(hwloc_topology_t topology, hwloc_const_nodeset_t nodeset, unsigned long *mask, unsigned long *maxnode)
Convert hwloc NUMA node set nodeset into the array of unsigned long mask.
Definition linux-libnuma.h:93
-
static int hwloc_nodeset_from_linux_libnuma_ulongs(hwloc_topology_t topology, hwloc_nodeset_t nodeset, const unsigned long *mask, unsigned long maxnode)
Convert the array of unsigned long mask into hwloc NUMA node set.
Definition linux-libnuma.h:158
-
static int hwloc_cpuset_to_linux_libnuma_ulongs(hwloc_topology_t topology, hwloc_const_cpuset_t cpuset, unsigned long *mask, unsigned long *maxnode)
Convert hwloc CPU set cpuset into the array of unsigned long mask.
Definition linux-libnuma.h:57
-
static int hwloc_cpuset_from_linux_libnuma_bitmask(hwloc_topology_t topology, hwloc_cpuset_t cpuset, const struct bitmask *bitmask)
Convert libnuma bitmask bitmask into hwloc CPU set cpuset.
Definition linux-libnuma.h:251
-
static int hwloc_nodeset_from_linux_libnuma_bitmask(hwloc_topology_t topology, hwloc_nodeset_t nodeset, const struct bitmask *bitmask)
Convert libnuma bitmask bitmask into hwloc NUMA node set nodeset.
Definition linux-libnuma.h:273
-
static struct bitmask * hwloc_cpuset_to_linux_libnuma_bitmask(hwloc_topology_t topology, hwloc_const_cpuset_t cpuset)
Convert hwloc CPU set cpuset into the returned libnuma bitmask.
Definition linux-libnuma.h:204
-
static struct bitmask * hwloc_nodeset_to_linux_libnuma_bitmask(hwloc_topology_t topology, hwloc_const_nodeset_t nodeset)
Convert hwloc NUMA node set nodeset into the returned libnuma bitmask.
Definition linux-libnuma.h:229
+
int hwloc_nodeset_to_linux_libnuma_ulongs(hwloc_topology_t topology, hwloc_const_nodeset_t nodeset, unsigned long *mask, unsigned long *maxnode)
Convert hwloc NUMA node set nodeset into the array of unsigned long mask.
Definition linux-libnuma.h:93
+
int hwloc_cpuset_from_linux_libnuma_ulongs(hwloc_topology_t topology, hwloc_cpuset_t cpuset, const unsigned long *mask, unsigned long maxnode)
Convert the array of unsigned long mask into hwloc CPU set.
Definition linux-libnuma.h:131
+
int hwloc_nodeset_from_linux_libnuma_ulongs(hwloc_topology_t topology, hwloc_nodeset_t nodeset, const unsigned long *mask, unsigned long maxnode)
Convert the array of unsigned long mask into hwloc NUMA node set.
Definition linux-libnuma.h:158
+
int hwloc_cpuset_to_linux_libnuma_ulongs(hwloc_topology_t topology, hwloc_const_cpuset_t cpuset, unsigned long *mask, unsigned long *maxnode)
Convert hwloc CPU set cpuset into the array of unsigned long mask.
Definition linux-libnuma.h:57
+
struct bitmask * hwloc_cpuset_to_linux_libnuma_bitmask(hwloc_topology_t topology, hwloc_const_cpuset_t cpuset)
Convert hwloc CPU set cpuset into the returned libnuma bitmask.
Definition linux-libnuma.h:204
+
int hwloc_nodeset_from_linux_libnuma_bitmask(hwloc_topology_t topology, hwloc_nodeset_t nodeset, const struct bitmask *bitmask)
Convert libnuma bitmask bitmask into hwloc NUMA node set nodeset.
Definition linux-libnuma.h:273
+
int hwloc_cpuset_from_linux_libnuma_bitmask(hwloc_topology_t topology, hwloc_cpuset_t cpuset, const struct bitmask *bitmask)
Convert libnuma bitmask bitmask into hwloc CPU set cpuset.
Definition linux-libnuma.h:251
+
struct bitmask * hwloc_nodeset_to_linux_libnuma_bitmask(hwloc_topology_t topology, hwloc_const_nodeset_t nodeset)
Convert hwloc NUMA node set nodeset into the returned libnuma bitmask.
Definition linux-libnuma.h:229
Structure of a topology object.
Definition hwloc.h:432
unsigned os_index
OS-provided physical index number. It is not guaranteed unique across the entire machine,...
Definition hwloc.h:437
hwloc_cpuset_t cpuset
CPUs covered by this object.
Definition hwloc.h:548
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00098_source.php b/projects/hwloc/doc/v2.12.0/a00098_source.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00098_source.php rename to projects/hwloc/doc/v2.12.0/a00098_source.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00101_source.php b/projects/hwloc/doc/v2.12.0/a00101_source.php similarity index 92% rename from projects/hwloc/doc/v2.12.0rc1/a00101_source.php rename to projects/hwloc/doc/v2.12.0/a00101_source.php index 6ca48df560..428de9e539 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00101_source.php +++ b/projects/hwloc/doc/v2.12.0/a00101_source.php @@ -67,7 +67,7 @@
37
58static __hwloc_inline int
- +
60 cpu_set_t *schedset, size_t schedsetsize)
61{
62#ifdef CPU_ZERO_S
@@ -90,7 +90,7 @@
78
89static __hwloc_inline int
- +
91 const cpu_set_t *schedset, size_t schedsetsize)
92{
93 int cpu;
@@ -139,8 +139,8 @@
#define hwloc_bitmap_foreach_begin(id, bitmap)
Loop macro iterating on bitmap bitmap.
Definition bitmap.h:442
void hwloc_bitmap_zero(hwloc_bitmap_t bitmap)
Empty the bitmap bitmap.
#define hwloc_bitmap_foreach_end()
End of loop macro iterating on a bitmap.
Definition bitmap.h:456
-
static int hwloc_cpuset_to_glibc_sched_affinity(hwloc_topology_t topology, hwloc_const_cpuset_t hwlocset, cpu_set_t *schedset, size_t schedsetsize)
Convert hwloc CPU set toposet into glibc sched affinity CPU set schedset.
Definition glibc-sched.h:59
-
static int hwloc_cpuset_from_glibc_sched_affinity(hwloc_topology_t topology, hwloc_cpuset_t hwlocset, const cpu_set_t *schedset, size_t schedsetsize)
Convert glibc sched affinity CPU set schedset into hwloc CPU set.
Definition glibc-sched.h:90
+
int hwloc_cpuset_to_glibc_sched_affinity(hwloc_topology_t topology, hwloc_const_cpuset_t hwlocset, cpu_set_t *schedset, size_t schedsetsize)
Convert hwloc CPU set toposet into glibc sched affinity CPU set schedset.
Definition glibc-sched.h:59
+
int hwloc_cpuset_from_glibc_sched_affinity(hwloc_topology_t topology, hwloc_cpuset_t hwlocset, const cpu_set_t *schedset, size_t schedsetsize)
Convert glibc sched affinity CPU set schedset into hwloc CPU set.
Definition glibc-sched.h:90
66
85static __hwloc_inline int
- +
87 unsigned *domain, unsigned *bus, unsigned *dev, unsigned *func)
88{
@@ -153,7 +153,7 @@
134
155static __hwloc_inline int
-
156hwloc_opencl_get_device_cpuset(hwloc_topology_t topology __hwloc_attribute_unused,
+
156hwloc_opencl_get_device_cpuset(hwloc_topology_t topology __hwloc_attribute_unused,
157 cl_device_id device __hwloc_attribute_unused,
158 hwloc_cpuset_t set)
159{
@@ -168,7 +168,7 @@
168 return -1;
169 }
170
-
171 if (hwloc_opencl_get_device_pci_busid(device, &pcidomain, &pcibus, &pcidev, &pcifunc) < 0) {
+
171 if (hwloc_opencl_get_device_pci_busid(device, &pcidomain, &pcibus, &pcidev, &pcifunc) < 0) {
173 return 0;
174 }
@@ -187,12 +187,12 @@
186
202static __hwloc_inline hwloc_obj_t
- +
204 unsigned platform_index, unsigned device_index)
205{
206 unsigned x = (unsigned) -1, y = (unsigned) -1;
207 hwloc_obj_t osdev = NULL;
-
208 while ((osdev = hwloc_get_next_osdev(topology, osdev)) != NULL) {
+
208 while ((osdev = hwloc_get_next_osdev(topology, osdev)) != NULL) {
210 && osdev->name
211 && sscanf(osdev->name, "opencl%ud%u", &x, &y) == 2
@@ -205,19 +205,19 @@
217
239static __hwloc_inline hwloc_obj_t
-
240hwloc_opencl_get_device_osdev(hwloc_topology_t topology __hwloc_attribute_unused,
+
240hwloc_opencl_get_device_osdev(hwloc_topology_t topology __hwloc_attribute_unused,
241 cl_device_id device __hwloc_attribute_unused)
242{
243 hwloc_obj_t osdev;
244 unsigned pcidomain, pcibus, pcidevice, pcifunc;
245
-
246 if (hwloc_opencl_get_device_pci_busid(device, &pcidomain, &pcibus, &pcidevice, &pcifunc) < 0) {
+
246 if (hwloc_opencl_get_device_pci_busid(device, &pcidomain, &pcibus, &pcidevice, &pcifunc) < 0) {
247 errno = EINVAL;
248 return NULL;
249 }
250
251 osdev = NULL;
-
252 while ((osdev = hwloc_get_next_osdev(topology, osdev)) != NULL) {
+
252 while ((osdev = hwloc_get_next_osdev(topology, osdev)) != NULL) {
253 hwloc_obj_t pcidev = osdev->parent;
254 if (strncmp(osdev->name, "opencl", 6))
255 continue;
@@ -247,14 +247,14 @@
struct hwloc_topology * hwloc_topology_t
Topology context.
Definition hwloc.h:743
int hwloc_topology_is_thissystem(hwloc_topology_t restrict topology)
Does the topology context come from this system?
hwloc_const_cpuset_t hwloc_topology_get_complete_cpuset(hwloc_topology_t topology)
Get complete CPU set.
-
static hwloc_obj_t hwloc_get_next_osdev(hwloc_topology_t topology, hwloc_obj_t prev)
Get the next OS device in the system.
Definition helper.h:1290
+
hwloc_obj_t hwloc_get_next_osdev(hwloc_topology_t topology, hwloc_obj_t prev)
Get the next OS device in the system.
Definition helper.h:1290
int hwloc_bitmap_iszero(hwloc_const_bitmap_t bitmap)
Test whether bitmap bitmap is empty.
int hwloc_bitmap_copy(hwloc_bitmap_t dst, hwloc_const_bitmap_t src)
Copy the contents of bitmap src into the already allocated bitmap dst.
int hwloc_linux_read_path_as_cpumask(const char *path, hwloc_bitmap_t set)
Convert a linux kernel cpumask file path into a hwloc bitmap set.
-
static int hwloc_opencl_get_device_pci_busid(cl_device_id device, unsigned *domain, unsigned *bus, unsigned *dev, unsigned *func)
Return the domain, bus and device IDs of the OpenCL device device.
Definition opencl.h:86
-
static int hwloc_opencl_get_device_cpuset(hwloc_topology_t topology, cl_device_id device, hwloc_cpuset_t set)
Get the CPU set of processors that are physically close to OpenCL device device.
Definition opencl.h:156
-
static hwloc_obj_t hwloc_opencl_get_device_osdev(hwloc_topology_t topology, cl_device_id device)
Get the hwloc OS device object corresponding to OpenCL device deviceX.
Definition opencl.h:240
-
static hwloc_obj_t hwloc_opencl_get_device_osdev_by_index(hwloc_topology_t topology, unsigned platform_index, unsigned device_index)
Get the hwloc OS device object corresponding to the OpenCL device for the given indexes.
Definition opencl.h:203
+
int hwloc_opencl_get_device_cpuset(hwloc_topology_t topology, cl_device_id device, hwloc_cpuset_t set)
Get the CPU set of processors that are physically close to OpenCL device device.
Definition opencl.h:156
+
int hwloc_opencl_get_device_pci_busid(cl_device_id device, unsigned *domain, unsigned *bus, unsigned *dev, unsigned *func)
Return the domain, bus and device IDs of the OpenCL device device.
Definition opencl.h:86
+
hwloc_obj_t hwloc_opencl_get_device_osdev(hwloc_topology_t topology, cl_device_id device)
Get the hwloc OS device object corresponding to OpenCL device deviceX.
Definition opencl.h:240
+
hwloc_obj_t hwloc_opencl_get_device_osdev_by_index(hwloc_topology_t topology, unsigned platform_index, unsigned device_index)
Get the hwloc OS device object corresponding to the OpenCL device for the given indexes.
Definition opencl.h:203
Structure of a topology object.
Definition hwloc.h:432
char * name
Object-specific name if any. Mostly used for identifying OS devices and Misc objects where a name str...
Definition hwloc.h:444
hwloc_obj_type_t type
Type of object.
Definition hwloc.h:434
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00107_source.php b/projects/hwloc/doc/v2.12.0/a00107_source.php similarity index 86% rename from projects/hwloc/doc/v2.12.0rc1/a00107_source.php rename to projects/hwloc/doc/v2.12.0/a00107_source.php index 6d272cea58..8825798515 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00107_source.php +++ b/projects/hwloc/doc/v2.12.0/a00107_source.php @@ -63,7 +63,7 @@
33
49static __hwloc_inline int
-
50hwloc_cuda_get_device_pci_ids(hwloc_topology_t topology __hwloc_attribute_unused,
+
50hwloc_cuda_get_device_pci_ids(hwloc_topology_t topology __hwloc_attribute_unused,
51 CUdevice cudevice, int *domain, int *bus, int *dev)
52{
53 CUresult cres;
@@ -94,7 +94,7 @@
77
97static __hwloc_inline int
-
98hwloc_cuda_get_device_cpuset(hwloc_topology_t topology __hwloc_attribute_unused,
+
98hwloc_cuda_get_device_cpuset(hwloc_topology_t topology __hwloc_attribute_unused,
99 CUdevice cudevice, hwloc_cpuset_t set)
100{
101#ifdef HWLOC_LINUX_SYS
@@ -103,7 +103,7 @@
104 char path[HWLOC_CUDA_DEVICE_SYSFS_PATH_MAX];
105 int domainid, busid, deviceid;
106
-
107 if (hwloc_cuda_get_device_pci_ids(topology, cudevice, &domainid, &busid, &deviceid))
+
107 if (hwloc_cuda_get_device_pci_ids(topology, cudevice, &domainid, &busid, &deviceid))
108 return -1;
109
110 if (!hwloc_topology_is_thissystem(topology)) {
@@ -125,29 +125,29 @@
125
136static __hwloc_inline hwloc_obj_t
- +
138{
139 int domain, bus, dev;
140
-
141 if (hwloc_cuda_get_device_pci_ids(topology, cudevice, &domain, &bus, &dev))
+
141 if (hwloc_cuda_get_device_pci_ids(topology, cudevice, &domain, &bus, &dev))
142 return NULL;
143
-
144 return hwloc_get_pcidev_by_busid(topology, domain, bus, dev, 0);
+
144 return hwloc_get_pcidev_by_busid(topology, domain, bus, dev, 0);
145}
146
162static __hwloc_inline hwloc_obj_t
- +
164{
165 hwloc_obj_t osdev = NULL;
166 int domain, bus, dev;
167
-
168 if (hwloc_cuda_get_device_pci_ids(topology, cudevice, &domain, &bus, &dev))
+
168 if (hwloc_cuda_get_device_pci_ids(topology, cudevice, &domain, &bus, &dev))
169 return NULL;
170
171 osdev = NULL;
-
172 while ((osdev = hwloc_get_next_osdev(topology, osdev)) != NULL) {
+
172 while ((osdev = hwloc_get_next_osdev(topology, osdev)) != NULL) {
173 hwloc_obj_t pcidev = osdev->parent;
174 if (strncmp(osdev->name, "cuda", 4))
175 continue;
@@ -167,10 +167,10 @@
188
204static __hwloc_inline hwloc_obj_t
- +
206{
207 hwloc_obj_t osdev = NULL;
-
208 while ((osdev = hwloc_get_next_osdev(topology, osdev)) != NULL) {
+
208 while ((osdev = hwloc_get_next_osdev(topology, osdev)) != NULL) {
210 && osdev->name
211 && !strncmp("cuda", osdev->name, 4)
@@ -193,16 +193,16 @@
struct hwloc_topology * hwloc_topology_t
Topology context.
Definition hwloc.h:743
int hwloc_topology_is_thissystem(hwloc_topology_t restrict topology)
Does the topology context come from this system?
hwloc_const_cpuset_t hwloc_topology_get_complete_cpuset(hwloc_topology_t topology)
Get complete CPU set.
-
static hwloc_obj_t hwloc_get_next_osdev(hwloc_topology_t topology, hwloc_obj_t prev)
Get the next OS device in the system.
Definition helper.h:1290
-
static hwloc_obj_t hwloc_get_pcidev_by_busid(hwloc_topology_t topology, unsigned domain, unsigned bus, unsigned dev, unsigned func)
Find the PCI device object matching the PCI bus id given domain, bus device and function PCI bus id.
Definition helper.h:1249
+
hwloc_obj_t hwloc_get_pcidev_by_busid(hwloc_topology_t topology, unsigned domain, unsigned bus, unsigned dev, unsigned func)
Find the PCI device object matching the PCI bus id given domain, bus device and function PCI bus id.
Definition helper.h:1249
+
hwloc_obj_t hwloc_get_next_osdev(hwloc_topology_t topology, hwloc_obj_t prev)
Get the next OS device in the system.
Definition helper.h:1290
int hwloc_bitmap_iszero(hwloc_const_bitmap_t bitmap)
Test whether bitmap bitmap is empty.
int hwloc_bitmap_copy(hwloc_bitmap_t dst, hwloc_const_bitmap_t src)
Copy the contents of bitmap src into the already allocated bitmap dst.
int hwloc_linux_read_path_as_cpumask(const char *path, hwloc_bitmap_t set)
Convert a linux kernel cpumask file path into a hwloc bitmap set.
-
static int hwloc_cuda_get_device_pci_ids(hwloc_topology_t topology, CUdevice cudevice, int *domain, int *bus, int *dev)
Return the domain, bus and device IDs of the CUDA device cudevice.
Definition cuda.h:50
-
static hwloc_obj_t hwloc_cuda_get_device_pcidev(hwloc_topology_t topology, CUdevice cudevice)
Get the hwloc PCI device object corresponding to the CUDA device cudevice.
Definition cuda.h:137
-
static hwloc_obj_t hwloc_cuda_get_device_osdev_by_index(hwloc_topology_t topology, unsigned idx)
Get the hwloc OS device object corresponding to the CUDA device whose index is idx.
Definition cuda.h:205
-
static hwloc_obj_t hwloc_cuda_get_device_osdev(hwloc_topology_t topology, CUdevice cudevice)
Get the hwloc OS device object corresponding to CUDA device cudevice.
Definition cuda.h:163
-
static int hwloc_cuda_get_device_cpuset(hwloc_topology_t topology, CUdevice cudevice, hwloc_cpuset_t set)
Get the CPU set of processors that are physically close to device cudevice.
Definition cuda.h:98
+
int hwloc_cuda_get_device_cpuset(hwloc_topology_t topology, CUdevice cudevice, hwloc_cpuset_t set)
Get the CPU set of processors that are physically close to device cudevice.
Definition cuda.h:98
+
hwloc_obj_t hwloc_cuda_get_device_osdev(hwloc_topology_t topology, CUdevice cudevice)
Get the hwloc OS device object corresponding to CUDA device cudevice.
Definition cuda.h:163
+
hwloc_obj_t hwloc_cuda_get_device_pcidev(hwloc_topology_t topology, CUdevice cudevice)
Get the hwloc PCI device object corresponding to the CUDA device cudevice.
Definition cuda.h:137
+
hwloc_obj_t hwloc_cuda_get_device_osdev_by_index(hwloc_topology_t topology, unsigned idx)
Get the hwloc OS device object corresponding to the CUDA device whose index is idx.
Definition cuda.h:205
+
int hwloc_cuda_get_device_pci_ids(hwloc_topology_t topology, CUdevice cudevice, int *domain, int *bus, int *dev)
Return the domain, bus and device IDs of the CUDA device cudevice.
Definition cuda.h:50
Structure of a topology object.
Definition hwloc.h:432
char * name
Object-specific name if any. Mostly used for identifying OS devices and Misc objects where a name str...
Definition hwloc.h:444
hwloc_obj_type_t type
Type of object.
Definition hwloc.h:434
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00110_source.php b/projects/hwloc/doc/v2.12.0/a00110_source.php similarity index 85% rename from projects/hwloc/doc/v2.12.0rc1/a00110_source.php rename to projects/hwloc/doc/v2.12.0/a00110_source.php index aa57848fd7..1af9b4f091 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00110_source.php +++ b/projects/hwloc/doc/v2.12.0/a00110_source.php @@ -64,7 +64,7 @@
34
50static __hwloc_inline int
-
51hwloc_cudart_get_device_pci_ids(hwloc_topology_t topology __hwloc_attribute_unused,
+
51hwloc_cudart_get_device_pci_ids(hwloc_topology_t topology __hwloc_attribute_unused,
52 int idx, int *domain, int *bus, int *dev)
53{
54 cudaError_t cerr;
@@ -91,7 +91,7 @@
74
94static __hwloc_inline int
-
95hwloc_cudart_get_device_cpuset(hwloc_topology_t topology __hwloc_attribute_unused,
+
95hwloc_cudart_get_device_cpuset(hwloc_topology_t topology __hwloc_attribute_unused,
96 int idx, hwloc_cpuset_t set)
97{
98#ifdef HWLOC_LINUX_SYS
@@ -100,7 +100,7 @@
101 char path[HWLOC_CUDART_DEVICE_SYSFS_PATH_MAX];
102 int domain, bus, dev;
103
-
104 if (hwloc_cudart_get_device_pci_ids(topology, idx, &domain, &bus, &dev))
+
104 if (hwloc_cudart_get_device_pci_ids(topology, idx, &domain, &bus, &dev))
105 return -1;
106
107 if (!hwloc_topology_is_thissystem(topology)) {
@@ -122,23 +122,23 @@
122
133static __hwloc_inline hwloc_obj_t
- +
135{
136 int domain, bus, dev;
137
-
138 if (hwloc_cudart_get_device_pci_ids(topology, idx, &domain, &bus, &dev))
+
138 if (hwloc_cudart_get_device_pci_ids(topology, idx, &domain, &bus, &dev))
139 return NULL;
140
-
141 return hwloc_get_pcidev_by_busid(topology, domain, bus, dev, 0);
+
141 return hwloc_get_pcidev_by_busid(topology, domain, bus, dev, 0);
142}
143
161static __hwloc_inline hwloc_obj_t
- +
163{
164 hwloc_obj_t osdev = NULL;
-
165 while ((osdev = hwloc_get_next_osdev(topology, osdev)) != NULL) {
+
165 while ((osdev = hwloc_get_next_osdev(topology, osdev)) != NULL) {
167 && osdev->name
168 && !strncmp("cuda", osdev->name, 4)
@@ -160,15 +160,15 @@
struct hwloc_topology * hwloc_topology_t
Topology context.
Definition hwloc.h:743
int hwloc_topology_is_thissystem(hwloc_topology_t restrict topology)
Does the topology context come from this system?
hwloc_const_cpuset_t hwloc_topology_get_complete_cpuset(hwloc_topology_t topology)
Get complete CPU set.
-
static hwloc_obj_t hwloc_get_next_osdev(hwloc_topology_t topology, hwloc_obj_t prev)
Get the next OS device in the system.
Definition helper.h:1290
-
static hwloc_obj_t hwloc_get_pcidev_by_busid(hwloc_topology_t topology, unsigned domain, unsigned bus, unsigned dev, unsigned func)
Find the PCI device object matching the PCI bus id given domain, bus device and function PCI bus id.
Definition helper.h:1249
+
hwloc_obj_t hwloc_get_pcidev_by_busid(hwloc_topology_t topology, unsigned domain, unsigned bus, unsigned dev, unsigned func)
Find the PCI device object matching the PCI bus id given domain, bus device and function PCI bus id.
Definition helper.h:1249
+
hwloc_obj_t hwloc_get_next_osdev(hwloc_topology_t topology, hwloc_obj_t prev)
Get the next OS device in the system.
Definition helper.h:1290
int hwloc_bitmap_iszero(hwloc_const_bitmap_t bitmap)
Test whether bitmap bitmap is empty.
int hwloc_bitmap_copy(hwloc_bitmap_t dst, hwloc_const_bitmap_t src)
Copy the contents of bitmap src into the already allocated bitmap dst.
int hwloc_linux_read_path_as_cpumask(const char *path, hwloc_bitmap_t set)
Convert a linux kernel cpumask file path into a hwloc bitmap set.
-
static int hwloc_cudart_get_device_cpuset(hwloc_topology_t topology, int idx, hwloc_cpuset_t set)
Get the CPU set of processors that are physically close to device idx.
Definition cudart.h:95
-
static hwloc_obj_t hwloc_cudart_get_device_osdev_by_index(hwloc_topology_t topology, unsigned idx)
Get the hwloc OS device object corresponding to the CUDA device whose index is idx.
Definition cudart.h:162
-
static int hwloc_cudart_get_device_pci_ids(hwloc_topology_t topology, int idx, int *domain, int *bus, int *dev)
Return the domain, bus and device IDs of the CUDA device whose index is idx.
Definition cudart.h:51
-
static hwloc_obj_t hwloc_cudart_get_device_pcidev(hwloc_topology_t topology, int idx)
Get the hwloc PCI device object corresponding to the CUDA device whose index is idx.
Definition cudart.h:134
+
int hwloc_cudart_get_device_cpuset(hwloc_topology_t topology, int idx, hwloc_cpuset_t set)
Get the CPU set of processors that are physically close to device idx.
Definition cudart.h:95
+
int hwloc_cudart_get_device_pci_ids(hwloc_topology_t topology, int idx, int *domain, int *bus, int *dev)
Return the domain, bus and device IDs of the CUDA device whose index is idx.
Definition cudart.h:51
+
hwloc_obj_t hwloc_cudart_get_device_osdev_by_index(hwloc_topology_t topology, unsigned idx)
Get the hwloc OS device object corresponding to the CUDA device whose index is idx.
Definition cudart.h:162
+
hwloc_obj_t hwloc_cudart_get_device_pcidev(hwloc_topology_t topology, int idx)
Get the hwloc PCI device object corresponding to the CUDA device whose index is idx.
Definition cudart.h:134
Structure of a topology object.
Definition hwloc.h:432
char * name
Object-specific name if any. Mostly used for identifying OS devices and Misc objects where a name str...
Definition hwloc.h:444
union hwloc_obj_attr_u * attr
Object type-specific Attributes, may be NULL if no attribute value was found.
Definition hwloc.h:451
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00113_source.php b/projects/hwloc/doc/v2.12.0/a00113_source.php similarity index 90% rename from projects/hwloc/doc/v2.12.0rc1/a00113_source.php rename to projects/hwloc/doc/v2.12.0/a00113_source.php index f6bc85ef5a..db4c0401f8 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00113_source.php +++ b/projects/hwloc/doc/v2.12.0/a00113_source.php @@ -61,7 +61,7 @@
30
58static __hwloc_inline int
-
59hwloc_nvml_get_device_cpuset(hwloc_topology_t topology __hwloc_attribute_unused,
+
59hwloc_nvml_get_device_cpuset(hwloc_topology_t topology __hwloc_attribute_unused,
60 nvmlDevice_t device, hwloc_cpuset_t set)
61{
62#ifdef HWLOC_LINUX_SYS
@@ -96,10 +96,10 @@
90
104static __hwloc_inline hwloc_obj_t
- +
106{
107 hwloc_obj_t osdev = NULL;
-
108 while ((osdev = hwloc_get_next_osdev(topology, osdev)) != NULL) {
+
108 while ((osdev = hwloc_get_next_osdev(topology, osdev)) != NULL) {
109 if (HWLOC_OBJ_OSDEV_GPU == osdev->attr->osdev.type
110 && osdev->name
111 && !strncmp("nvml", osdev->name, 4)
@@ -112,7 +112,7 @@
117
131static __hwloc_inline hwloc_obj_t
-
132hwloc_nvml_get_device_osdev(hwloc_topology_t topology, nvmlDevice_t device)
+
132hwloc_nvml_get_device_osdev(hwloc_topology_t topology, nvmlDevice_t device)
133{
134 hwloc_obj_t osdev;
135 nvmlReturn_t nvres;
@@ -133,7 +133,7 @@
150 uuid[0] = '\0';
151
152 osdev = NULL;
-
153 while ((osdev = hwloc_get_next_osdev(topology, osdev)) != NULL) {
+
153 while ((osdev = hwloc_get_next_osdev(topology, osdev)) != NULL) {
154 hwloc_obj_t pcidev = osdev->parent;
155 const char *info;
156
@@ -148,7 +148,7 @@
165 && pcidev->attr->pcidev.func == 0)
166 return osdev;
167
-
168 info = hwloc_obj_get_info_by_name(osdev, "NVIDIAUUID");
+
168 info = hwloc_obj_get_info_by_name(osdev, "NVIDIAUUID");
169 if (info && !strcmp(info, uuid))
170 return osdev;
171 }
@@ -167,16 +167,16 @@
@ HWLOC_OBJ_OSDEV_GPU
Operating system GPU device. For instance ":0.0" for a GL display, "card0" for a Linux DRM device.
Definition hwloc.h:375
@ HWLOC_OBJ_PCI_DEVICE
PCI device (filtered out by default).
Definition hwloc.h:295
struct hwloc_topology * hwloc_topology_t
Topology context.
Definition hwloc.h:743
-
static const char * hwloc_obj_get_info_by_name(hwloc_obj_t obj, const char *name)
Search the given name in object infos and return the corresponding value.
+
const char * hwloc_obj_get_info_by_name(hwloc_obj_t obj, const char *name)
Search the given name in object infos and return the corresponding value.
int hwloc_topology_is_thissystem(hwloc_topology_t restrict topology)
Does the topology context come from this system?
hwloc_const_cpuset_t hwloc_topology_get_complete_cpuset(hwloc_topology_t topology)
Get complete CPU set.
-
static hwloc_obj_t hwloc_get_next_osdev(hwloc_topology_t topology, hwloc_obj_t prev)
Get the next OS device in the system.
Definition helper.h:1290
+
hwloc_obj_t hwloc_get_next_osdev(hwloc_topology_t topology, hwloc_obj_t prev)
Get the next OS device in the system.
Definition helper.h:1290
int hwloc_bitmap_iszero(hwloc_const_bitmap_t bitmap)
Test whether bitmap bitmap is empty.
int hwloc_bitmap_copy(hwloc_bitmap_t dst, hwloc_const_bitmap_t src)
Copy the contents of bitmap src into the already allocated bitmap dst.
int hwloc_linux_read_path_as_cpumask(const char *path, hwloc_bitmap_t set)
Convert a linux kernel cpumask file path into a hwloc bitmap set.
-
static int hwloc_nvml_get_device_cpuset(hwloc_topology_t topology, nvmlDevice_t device, hwloc_cpuset_t set)
Get the CPU set of processors that are physically close to NVML device device.
Definition nvml.h:59
-
static hwloc_obj_t hwloc_nvml_get_device_osdev_by_index(hwloc_topology_t topology, unsigned idx)
Get the hwloc OS device object corresponding to the NVML device whose index is idx.
Definition nvml.h:105
-
static hwloc_obj_t hwloc_nvml_get_device_osdev(hwloc_topology_t topology, nvmlDevice_t device)
Get the hwloc OS device object corresponding to NVML device device.
Definition nvml.h:132
+
hwloc_obj_t hwloc_nvml_get_device_osdev(hwloc_topology_t topology, nvmlDevice_t device)
Get the hwloc OS device object corresponding to NVML device device.
Definition nvml.h:132
+
int hwloc_nvml_get_device_cpuset(hwloc_topology_t topology, nvmlDevice_t device, hwloc_cpuset_t set)
Get the CPU set of processors that are physically close to NVML device device.
Definition nvml.h:59
+
hwloc_obj_t hwloc_nvml_get_device_osdev_by_index(hwloc_topology_t topology, unsigned idx)
Get the hwloc OS device object corresponding to the NVML device whose index is idx.
Definition nvml.h:105
Structure of a topology object.
Definition hwloc.h:432
char * name
Object-specific name if any. Mostly used for identifying OS devices and Misc objects where a name str...
Definition hwloc.h:444
hwloc_obj_type_t type
Type of object.
Definition hwloc.h:434
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00116_source.php b/projects/hwloc/doc/v2.12.0/a00116_source.php similarity index 90% rename from projects/hwloc/doc/v2.12.0rc1/a00116_source.php rename to projects/hwloc/doc/v2.12.0/a00116_source.php index aaa35676ba..983ace4964 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00116_source.php +++ b/projects/hwloc/doc/v2.12.0/a00116_source.php @@ -63,7 +63,7 @@
32
62static __hwloc_inline int
-
63hwloc_rsmi_get_device_cpuset(hwloc_topology_t topology __hwloc_attribute_unused,
+
63hwloc_rsmi_get_device_cpuset(hwloc_topology_t topology __hwloc_attribute_unused,
64 uint32_t dv_ind, hwloc_cpuset_t set)
65{
66#ifdef HWLOC_LINUX_SYS
@@ -102,10 +102,10 @@
98
114static __hwloc_inline hwloc_obj_t
- +
116{
117 hwloc_obj_t osdev = NULL;
-
118 while ((osdev = hwloc_get_next_osdev(topology, osdev)) != NULL) {
+
118 while ((osdev = hwloc_get_next_osdev(topology, osdev)) != NULL) {
119 if (HWLOC_OBJ_OSDEV_GPU == osdev->attr->osdev.type
120 && osdev->name
121 && !strncmp("rsmi", osdev->name, 4)
@@ -118,7 +118,7 @@
127
143static __hwloc_inline hwloc_obj_t
- +
145{
146 hwloc_obj_t osdev;
147 rsmi_status_t ret;
@@ -149,7 +149,7 @@
172 sprintf(uuid, "%lx", id);
173
174 osdev = NULL;
-
175 while ((osdev = hwloc_get_next_osdev(topology, osdev)) != NULL) {
+
175 while ((osdev = hwloc_get_next_osdev(topology, osdev)) != NULL) {
176 hwloc_obj_t pcidev = osdev->parent;
177 const char *info;
178
@@ -164,7 +164,7 @@
187 && pcidev->attr->pcidev.func == func)
188 return osdev;
189
-
190 info = hwloc_obj_get_info_by_name(osdev, "AMDUUID");
+
190 info = hwloc_obj_get_info_by_name(osdev, "AMDUUID");
191 if (info && !strcmp(info, uuid))
192 return osdev;
193 }
@@ -183,16 +183,16 @@
@ HWLOC_OBJ_OSDEV_GPU
Operating system GPU device. For instance ":0.0" for a GL display, "card0" for a Linux DRM device.
Definition hwloc.h:375
@ HWLOC_OBJ_PCI_DEVICE
PCI device (filtered out by default).
Definition hwloc.h:295
struct hwloc_topology * hwloc_topology_t
Topology context.
Definition hwloc.h:743
-
static const char * hwloc_obj_get_info_by_name(hwloc_obj_t obj, const char *name)
Search the given name in object infos and return the corresponding value.
+
const char * hwloc_obj_get_info_by_name(hwloc_obj_t obj, const char *name)
Search the given name in object infos and return the corresponding value.
int hwloc_topology_is_thissystem(hwloc_topology_t restrict topology)
Does the topology context come from this system?
hwloc_const_cpuset_t hwloc_topology_get_complete_cpuset(hwloc_topology_t topology)
Get complete CPU set.
-
static hwloc_obj_t hwloc_get_next_osdev(hwloc_topology_t topology, hwloc_obj_t prev)
Get the next OS device in the system.
Definition helper.h:1290
+
hwloc_obj_t hwloc_get_next_osdev(hwloc_topology_t topology, hwloc_obj_t prev)
Get the next OS device in the system.
Definition helper.h:1290
int hwloc_bitmap_iszero(hwloc_const_bitmap_t bitmap)
Test whether bitmap bitmap is empty.
int hwloc_bitmap_copy(hwloc_bitmap_t dst, hwloc_const_bitmap_t src)
Copy the contents of bitmap src into the already allocated bitmap dst.
int hwloc_linux_read_path_as_cpumask(const char *path, hwloc_bitmap_t set)
Convert a linux kernel cpumask file path into a hwloc bitmap set.
-
static hwloc_obj_t hwloc_rsmi_get_device_osdev_by_index(hwloc_topology_t topology, uint32_t dv_ind)
Get the hwloc OS device object corresponding to the AMD GPU device whose index is dv_ind.
Definition rsmi.h:115
-
static hwloc_obj_t hwloc_rsmi_get_device_osdev(hwloc_topology_t topology, uint32_t dv_ind)
Get the hwloc OS device object corresponding to AMD GPU device, whose index is dv_ind.
Definition rsmi.h:144
-
static int hwloc_rsmi_get_device_cpuset(hwloc_topology_t topology, uint32_t dv_ind, hwloc_cpuset_t set)
Get the CPU set of logical processors that are physically close to AMD GPU device whose index is dv_i...
Definition rsmi.h:63
+
int hwloc_rsmi_get_device_cpuset(hwloc_topology_t topology, uint32_t dv_ind, hwloc_cpuset_t set)
Get the CPU set of logical processors that are physically close to AMD GPU device whose index is dv_i...
Definition rsmi.h:63
+
hwloc_obj_t hwloc_rsmi_get_device_osdev(hwloc_topology_t topology, uint32_t dv_ind)
Get the hwloc OS device object corresponding to AMD GPU device, whose index is dv_ind.
Definition rsmi.h:144
+
hwloc_obj_t hwloc_rsmi_get_device_osdev_by_index(hwloc_topology_t topology, uint32_t dv_ind)
Get the hwloc OS device object corresponding to the AMD GPU device whose index is dv_ind.
Definition rsmi.h:115
Structure of a topology object.
Definition hwloc.h:432
char * name
Object-specific name if any. Mostly used for identifying OS devices and Misc objects where a name str...
Definition hwloc.h:444
hwloc_obj_type_t type
Type of object.
Definition hwloc.h:434
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00119_source.php b/projects/hwloc/doc/v2.12.0/a00119_source.php similarity index 91% rename from projects/hwloc/doc/v2.12.0rc1/a00119_source.php rename to projects/hwloc/doc/v2.12.0/a00119_source.php index 54ef03f0f6..94985352b4 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00119_source.php +++ b/projects/hwloc/doc/v2.12.0/a00119_source.php @@ -62,7 +62,7 @@
31
65static __hwloc_inline int
-
66hwloc_levelzero_get_device_cpuset(hwloc_topology_t topology __hwloc_attribute_unused,
+
66hwloc_levelzero_get_device_cpuset(hwloc_topology_t topology __hwloc_attribute_unused,
67 ze_device_handle_t device, hwloc_cpuset_t set)
68{
69#ifdef HWLOC_LINUX_SYS
@@ -100,7 +100,7 @@
100
123static __hwloc_inline int
- +
125 zes_device_handle_t device, hwloc_cpuset_t set)
126{
127#ifdef HWLOC_LINUX_SYS
@@ -136,7 +136,7 @@
156
178static __hwloc_inline hwloc_obj_t
-
179hwloc_levelzero_get_device_osdev(hwloc_topology_t topology, ze_device_handle_t device)
+
179hwloc_levelzero_get_device_osdev(hwloc_topology_t topology, ze_device_handle_t device)
180{
181 ze_pci_ext_properties_t pci;
182 ze_result_t res;
@@ -156,7 +156,7 @@
196 }
197
198 osdev = NULL;
-
199 while ((osdev = hwloc_get_next_osdev(topology, osdev)) != NULL) {
+
199 while ((osdev = hwloc_get_next_osdev(topology, osdev)) != NULL) {
200 hwloc_obj_t pcidev;
201
202 if (strncmp(osdev->name, "ze", 2))
@@ -185,7 +185,7 @@
224
245static __hwloc_inline hwloc_obj_t
- +
247{
248 zes_pci_properties_t pci;
249 ze_result_t res;
@@ -203,7 +203,7 @@
261 }
262
263 osdev = NULL;
-
264 while ((osdev = hwloc_get_next_osdev(topology, osdev)) != NULL) {
+
264 while ((osdev = hwloc_get_next_osdev(topology, osdev)) != NULL) {
265 hwloc_obj_t pcidev;
266
267 if (strncmp(osdev->name, "ze", 2))
@@ -241,14 +241,14 @@
struct hwloc_topology * hwloc_topology_t
Topology context.
Definition hwloc.h:743
int hwloc_topology_is_thissystem(hwloc_topology_t restrict topology)
Does the topology context come from this system?
hwloc_const_cpuset_t hwloc_topology_get_complete_cpuset(hwloc_topology_t topology)
Get complete CPU set.
-
static hwloc_obj_t hwloc_get_next_osdev(hwloc_topology_t topology, hwloc_obj_t prev)
Get the next OS device in the system.
Definition helper.h:1290
+
hwloc_obj_t hwloc_get_next_osdev(hwloc_topology_t topology, hwloc_obj_t prev)
Get the next OS device in the system.
Definition helper.h:1290
int hwloc_bitmap_iszero(hwloc_const_bitmap_t bitmap)
Test whether bitmap bitmap is empty.
int hwloc_bitmap_copy(hwloc_bitmap_t dst, hwloc_const_bitmap_t src)
Copy the contents of bitmap src into the already allocated bitmap dst.
int hwloc_linux_read_path_as_cpumask(const char *path, hwloc_bitmap_t set)
Convert a linux kernel cpumask file path into a hwloc bitmap set.
-
static int hwloc_levelzero_get_device_cpuset(hwloc_topology_t topology, ze_device_handle_t device, hwloc_cpuset_t set)
Get the CPU set of logical processors that are physically close to the Level Zero device device.
Definition levelzero.h:66
-
static int hwloc_levelzero_get_sysman_device_cpuset(hwloc_topology_t topology, zes_device_handle_t device, hwloc_cpuset_t set)
Get the CPU set of logical processors that are physically close to the Level Zero Sysman device devic...
Definition levelzero.h:124
-
static hwloc_obj_t hwloc_levelzero_get_sysman_device_osdev(hwloc_topology_t topology, zes_device_handle_t device)
Get the hwloc OS device object corresponding to Level Zero Sysman device device.
Definition levelzero.h:246
-
static hwloc_obj_t hwloc_levelzero_get_device_osdev(hwloc_topology_t topology, ze_device_handle_t device)
Get the hwloc OS device object corresponding to Level Zero device device.
Definition levelzero.h:179
+
hwloc_obj_t hwloc_levelzero_get_sysman_device_osdev(hwloc_topology_t topology, zes_device_handle_t device)
Get the hwloc OS device object corresponding to Level Zero Sysman device device.
Definition levelzero.h:246
+
hwloc_obj_t hwloc_levelzero_get_device_osdev(hwloc_topology_t topology, ze_device_handle_t device)
Get the hwloc OS device object corresponding to Level Zero device device.
Definition levelzero.h:179
+
int hwloc_levelzero_get_device_cpuset(hwloc_topology_t topology, ze_device_handle_t device, hwloc_cpuset_t set)
Get the CPU set of logical processors that are physically close to the Level Zero device device.
Definition levelzero.h:66
+
int hwloc_levelzero_get_sysman_device_cpuset(hwloc_topology_t topology, zes_device_handle_t device, hwloc_cpuset_t set)
Get the CPU set of logical processors that are physically close to the Level Zero Sysman device devic...
Definition levelzero.h:124
Structure of a topology object.
Definition hwloc.h:432
char * name
Object-specific name if any. Mostly used for identifying OS devices and Misc objects where a name str...
Definition hwloc.h:444
hwloc_obj_type_t type
Type of object.
Definition hwloc.h:434
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00122_source.php b/projects/hwloc/doc/v2.12.0/a00122_source.php similarity index 86% rename from projects/hwloc/doc/v2.12.0rc1/a00122_source.php rename to projects/hwloc/doc/v2.12.0/a00122_source.php index cb323abe58..4115dc0ad7 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00122_source.php +++ b/projects/hwloc/doc/v2.12.0/a00122_source.php @@ -58,12 +58,12 @@
27
53static __hwloc_inline hwloc_obj_t
- +
55 unsigned port, unsigned device)
56{
57 unsigned x = (unsigned) -1, y = (unsigned) -1;
58 hwloc_obj_t osdev = NULL;
-
59 while ((osdev = hwloc_get_next_osdev(topology, osdev)) != NULL) {
+
59 while ((osdev = hwloc_get_next_osdev(topology, osdev)) != NULL) {
60 if (HWLOC_OBJ_OSDEV_GPU == osdev->attr->osdev.type
61 && osdev->name
62 && sscanf(osdev->name, ":%u.%u", &x, &y) == 2
@@ -77,11 +77,11 @@
69
84static __hwloc_inline hwloc_obj_t
- +
86 const char *name)
87{
88 hwloc_obj_t osdev = NULL;
-
89 while ((osdev = hwloc_get_next_osdev(topology, osdev)) != NULL) {
+
89 while ((osdev = hwloc_get_next_osdev(topology, osdev)) != NULL) {
90 if (HWLOC_OBJ_OSDEV_GPU == osdev->attr->osdev.type
91 && osdev->name
92 && !strcmp(name, osdev->name))
@@ -94,7 +94,7 @@
98
112static __hwloc_inline int
-
113hwloc_gl_get_display_by_osdev(hwloc_topology_t topology __hwloc_attribute_unused,
+
113hwloc_gl_get_display_by_osdev(hwloc_topology_t topology __hwloc_attribute_unused,
114 hwloc_obj_t osdev,
115 unsigned *port, unsigned *device)
116{
@@ -119,10 +119,10 @@
137
@ HWLOC_OBJ_OSDEV_GPU
Operating system GPU device. For instance ":0.0" for a GL display, "card0" for a Linux DRM device.
Definition hwloc.h:375
struct hwloc_topology * hwloc_topology_t
Topology context.
Definition hwloc.h:743
-
static hwloc_obj_t hwloc_get_next_osdev(hwloc_topology_t topology, hwloc_obj_t prev)
Get the next OS device in the system.
Definition helper.h:1290
-
static hwloc_obj_t hwloc_gl_get_display_osdev_by_name(hwloc_topology_t topology, const char *name)
Get the hwloc OS device object corresponding to the OpenGL display given by name.
Definition gl.h:85
-
static hwloc_obj_t hwloc_gl_get_display_osdev_by_port_device(hwloc_topology_t topology, unsigned port, unsigned device)
Get the hwloc OS device object corresponding to the OpenGL display given by port and device index.
Definition gl.h:54
-
static int hwloc_gl_get_display_by_osdev(hwloc_topology_t topology, hwloc_obj_t osdev, unsigned *port, unsigned *device)
Get the OpenGL display port and device corresponding to the given hwloc OS object.
Definition gl.h:113
+
hwloc_obj_t hwloc_get_next_osdev(hwloc_topology_t topology, hwloc_obj_t prev)
Get the next OS device in the system.
Definition helper.h:1290
+
hwloc_obj_t hwloc_gl_get_display_osdev_by_port_device(hwloc_topology_t topology, unsigned port, unsigned device)
Get the hwloc OS device object corresponding to the OpenGL display given by port and device index.
Definition gl.h:54
+
int hwloc_gl_get_display_by_osdev(hwloc_topology_t topology, hwloc_obj_t osdev, unsigned *port, unsigned *device)
Get the OpenGL display port and device corresponding to the given hwloc OS object.
Definition gl.h:113
+
hwloc_obj_t hwloc_gl_get_display_osdev_by_name(hwloc_topology_t topology, const char *name)
Get the hwloc OS device object corresponding to the OpenGL display given by name.
Definition gl.h:85
Structure of a topology object.
Definition hwloc.h:432
char * name
Object-specific name if any. Mostly used for identifying OS devices and Misc objects where a name str...
Definition hwloc.h:444
union hwloc_obj_attr_u * attr
Object type-specific Attributes, may be NULL if no attribute value was found.
Definition hwloc.h:451
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00125_source.php b/projects/hwloc/doc/v2.12.0/a00125_source.php similarity index 87% rename from projects/hwloc/doc/v2.12.0rc1/a00125_source.php rename to projects/hwloc/doc/v2.12.0/a00125_source.php index 317c2c2688..9d67cb2dfd 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00125_source.php +++ b/projects/hwloc/doc/v2.12.0/a00125_source.php @@ -63,7 +63,7 @@
35
64static __hwloc_inline int
-
65hwloc_ibv_get_device_cpuset(hwloc_topology_t topology __hwloc_attribute_unused,
+
65hwloc_ibv_get_device_cpuset(hwloc_topology_t topology __hwloc_attribute_unused,
66 struct ibv_device *ibdev, hwloc_cpuset_t set)
67{
68#ifdef HWLOC_LINUX_SYS
@@ -92,11 +92,11 @@
90
108static __hwloc_inline hwloc_obj_t
- +
110 const char *ibname)
111{
112 hwloc_obj_t osdev = NULL;
-
113 while ((osdev = hwloc_get_next_osdev(topology, osdev)) != NULL) {
+
113 while ((osdev = hwloc_get_next_osdev(topology, osdev)) != NULL) {
115 && osdev->name && !strcmp(ibname, osdev->name))
116 return osdev;
@@ -107,14 +107,14 @@
120
136static __hwloc_inline hwloc_obj_t
- +
138 struct ibv_device *ibdev)
139{
140 if (!hwloc_topology_is_thissystem(topology)) {
141 errno = EINVAL;
142 return NULL;
143 }
-
144 return hwloc_ibv_get_device_osdev_by_name(topology, ibv_get_device_name(ibdev));
+
144 return hwloc_ibv_get_device_osdev_by_name(topology, ibv_get_device_name(ibdev));
145}
146
@@ -129,13 +129,13 @@
struct hwloc_topology * hwloc_topology_t
Topology context.
Definition hwloc.h:743
int hwloc_topology_is_thissystem(hwloc_topology_t restrict topology)
Does the topology context come from this system?
hwloc_const_cpuset_t hwloc_topology_get_complete_cpuset(hwloc_topology_t topology)
Get complete CPU set.
-
static hwloc_obj_t hwloc_get_next_osdev(hwloc_topology_t topology, hwloc_obj_t prev)
Get the next OS device in the system.
Definition helper.h:1290
+
hwloc_obj_t hwloc_get_next_osdev(hwloc_topology_t topology, hwloc_obj_t prev)
Get the next OS device in the system.
Definition helper.h:1290
int hwloc_bitmap_iszero(hwloc_const_bitmap_t bitmap)
Test whether bitmap bitmap is empty.
int hwloc_bitmap_copy(hwloc_bitmap_t dst, hwloc_const_bitmap_t src)
Copy the contents of bitmap src into the already allocated bitmap dst.
int hwloc_linux_read_path_as_cpumask(const char *path, hwloc_bitmap_t set)
Convert a linux kernel cpumask file path into a hwloc bitmap set.
-
static hwloc_obj_t hwloc_ibv_get_device_osdev_by_name(hwloc_topology_t topology, const char *ibname)
Get the hwloc OS device object corresponding to the OpenFabrics device named ibname.
Definition openfabrics-verbs.h:109
-
static int hwloc_ibv_get_device_cpuset(hwloc_topology_t topology, struct ibv_device *ibdev, hwloc_cpuset_t set)
Get the CPU set of processors that are physically close to device ibdev.
Definition openfabrics-verbs.h:65
-
static hwloc_obj_t hwloc_ibv_get_device_osdev(hwloc_topology_t topology, struct ibv_device *ibdev)
Get the hwloc OS device object corresponding to the OpenFabrics device ibdev.
Definition openfabrics-verbs.h:137
+
hwloc_obj_t hwloc_ibv_get_device_osdev_by_name(hwloc_topology_t topology, const char *ibname)
Get the hwloc OS device object corresponding to the OpenFabrics device named ibname.
Definition openfabrics-verbs.h:109
+
int hwloc_ibv_get_device_cpuset(hwloc_topology_t topology, struct ibv_device *ibdev, hwloc_cpuset_t set)
Get the CPU set of processors that are physically close to device ibdev.
Definition openfabrics-verbs.h:65
+
hwloc_obj_t hwloc_ibv_get_device_osdev(hwloc_topology_t topology, struct ibv_device *ibdev)
Get the hwloc OS device object corresponding to the OpenFabrics device ibdev.
Definition openfabrics-verbs.h:137
Structure of a topology object.
Definition hwloc.h:432
char * name
Object-specific name if any. Mostly used for identifying OS devices and Misc objects where a name str...
Definition hwloc.h:444
union hwloc_obj_attr_u * attr
Object type-specific Attributes, may be NULL if no attribute value was found.
Definition hwloc.h:451
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00128_source.php b/projects/hwloc/doc/v2.12.0/a00128_source.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00128_source.php rename to projects/hwloc/doc/v2.12.0/a00128_source.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00131_source.php b/projects/hwloc/doc/v2.12.0/a00131_source.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00131_source.php rename to projects/hwloc/doc/v2.12.0/a00131_source.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00134_source.php b/projects/hwloc/doc/v2.12.0/a00134_source.php similarity index 96% rename from projects/hwloc/doc/v2.12.0rc1/a00134_source.php rename to projects/hwloc/doc/v2.12.0/a00134_source.php index eb1ba4509c..1e0e39aaa3 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00134_source.php +++ b/projects/hwloc/doc/v2.12.0/a00134_source.php @@ -166,7 +166,7 @@
303
325static __hwloc_inline int
-
326hwloc_plugin_check_namespace(const char *pluginname __hwloc_attribute_unused, const char *symbol __hwloc_attribute_unused)
+
326hwloc_plugin_check_namespace(const char *pluginname __hwloc_attribute_unused, const char *symbol __hwloc_attribute_unused)
327{
328#ifdef HWLOC_INSIDE_PLUGIN
329 void *sym;
@@ -222,7 +222,7 @@
470
487static __hwloc_inline int
- +
489{
490 unsigned baseclass = classid >> 8;
491 return (baseclass == 0x03 /* PCI_BASE_CLASS_DISPLAY */
@@ -240,7 +240,7 @@
502
507static __hwloc_inline int
- +
509{
510 return (subtype != HWLOC_OBJ_OSDEV_DMA);
511}
@@ -248,7 +248,7 @@
512
519static __hwloc_inline int
- +
521{
523 hwloc_topology_get_type_filter(topology, type, &filter);
@@ -259,7 +259,7 @@
527
532static __hwloc_inline int
- +
534{
535 hwloc_obj_type_t type = obj->type;
@@ -268,9 +268,9 @@
539 return 0;
540 if (filter == HWLOC_TYPE_FILTER_KEEP_IMPORTANT) {
541 if (type == HWLOC_OBJ_PCI_DEVICE)
- +
543 if (type == HWLOC_OBJ_OS_DEVICE)
- +
545 }
546 return 1;
547}
@@ -342,7 +342,7 @@
@ HWLOC_DISC_STATUS_FLAG_GOT_ALLOWED_RESOURCES
The sets of allowed resources were already retrieved.
Definition plugins.h:136
enum hwloc_component_type_e hwloc_component_type_t
Generic component type.
hwloc_component_type_e
Generic component type.
Definition plugins.h:245
-
static int hwloc_plugin_check_namespace(const char *pluginname, const char *symbol)
Make sure that plugins can lookup core symbols.
Definition plugins.h:326
+
int hwloc_plugin_check_namespace(const char *pluginname, const char *symbol)
Make sure that plugins can lookup core symbols.
Definition plugins.h:326
@ HWLOC_COMPONENT_TYPE_DISC
The data field must point to a struct hwloc_disc_component.
Definition plugins.h:247
@ HWLOC_COMPONENT_TYPE_XML
The data field must point to a struct hwloc_xml_component.
Definition plugins.h:250
hwloc_obj_t hwloc_alloc_setup_object(hwloc_topology_t topology, hwloc_obj_type_t type, unsigned os_index)
Allocate and initialize an object of the given type and physical index.
@@ -351,10 +351,10 @@
hwloc_obj_t hwloc__insert_object_by_cpuset(struct hwloc_topology *topology, hwloc_obj_t root, hwloc_obj_t obj, const char *reason)
Add an object to the topology.
int hwloc_obj_add_children_sets(hwloc_obj_t obj)
Setup object cpusets/nodesets by OR'ing its children.
int hwloc_hide_errors(void)
Check whether error messages are hidden.
-
static int hwloc_filter_check_keep_object_type(hwloc_topology_t topology, hwloc_obj_type_t type)
Check whether a non-I/O object type should be filtered-out.
Definition plugins.h:520
-
static int hwloc_filter_check_keep_object(hwloc_topology_t topology, hwloc_obj_t obj)
Check whether the given object should be filtered-out.
Definition plugins.h:533
-
static int hwloc_filter_check_pcidev_subtype_important(unsigned classid)
Check whether the given PCI device classid is important.
Definition plugins.h:488
-
static int hwloc_filter_check_osdev_subtype_important(hwloc_obj_osdev_type_t subtype)
Check whether the given OS device subtype is important.
Definition plugins.h:508
+
int hwloc_filter_check_keep_object(hwloc_topology_t topology, hwloc_obj_t obj)
Check whether the given object should be filtered-out.
Definition plugins.h:533
+
int hwloc_filter_check_pcidev_subtype_important(unsigned classid)
Check whether the given PCI device classid is important.
Definition plugins.h:488
+
int hwloc_filter_check_osdev_subtype_important(hwloc_obj_osdev_type_t subtype)
Check whether the given OS device subtype is important.
Definition plugins.h:508
+
int hwloc_filter_check_keep_object_type(hwloc_topology_t topology, hwloc_obj_type_t type)
Check whether a non-I/O object type should be filtered-out.
Definition plugins.h:520
int hwloc_pcidisc_find_linkspeed(const unsigned char *config, unsigned offset, float *linkspeed)
Fill linkspeed by reading the PCI config space where PCI_CAP_ID_EXP is at position offset.
hwloc_obj_type_t hwloc_pcidisc_check_bridge_type(unsigned device_class, const unsigned char *config)
Return the hwloc object type (PCI device or Bridge) for the given class and configuration space.
unsigned hwloc_pcidisc_find_cap(const unsigned char *config, unsigned cap)
Return the offset of the given capability in the PCI config space buffer.
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00137.php b/projects/hwloc/doc/v2.12.0/a00137.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00137.php rename to projects/hwloc/doc/v2.12.0/a00137.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00138.php b/projects/hwloc/doc/v2.12.0/a00138.php similarity index 99% rename from projects/hwloc/doc/v2.12.0rc1/a00138.php rename to projects/hwloc/doc/v2.12.0/a00138.php index 11c53b5ab7..70f6128f61 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00138.php +++ b/projects/hwloc/doc/v2.12.0/a00138.php @@ -33,7 +33,7 @@ - + @@ -52,7 +52,7 @@

Macros

#define HWLOC_API_VERSION   0x00020b00
#define HWLOC_API_VERSION   0x00020c00
 
#define HWLOC_COMPONENT_ABI   7
 
- +
#define HWLOC_API_VERSION   0x00020b00#define HWLOC_API_VERSION   0x00020c00
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00139.php b/projects/hwloc/doc/v2.12.0/a00139.php similarity index 97% rename from projects/hwloc/doc/v2.12.0rc1/a00139.php rename to projects/hwloc/doc/v2.12.0/a00139.php index 5e20610b4c..26c432402b 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00139.php +++ b/projects/hwloc/doc/v2.12.0/a00139.php @@ -91,7 +91,7 @@

A CPU set is a bitmap whose bits are set according to CPU physical OS indexes.

It may be consulted and modified with the bitmap API as any hwloc_bitmap_t (see hwloc/bitmap.h).

-

Each bit may be converted into a PU object using hwloc_get_pu_obj_by_os_index().

+

Each bit may be converted into a PU object using hwloc_get_pu_obj_by_os_index().

@@ -108,7 +108,7 @@

A node set is a bitmap whose bits are set according to NUMA memory node physical OS indexes.

-

It may be consulted and modified with the bitmap API as any hwloc_bitmap_t (see hwloc/bitmap.h). Each bit may be converted into a NUMA node object using hwloc_get_numanode_obj_by_os_index().

+

It may be consulted and modified with the bitmap API as any hwloc_bitmap_t (see hwloc/bitmap.h). Each bit may be converted into a NUMA node object using hwloc_get_numanode_obj_by_os_index().

When binding memory on a system without any NUMA node, the single main memory bank is considered as NUMA node #0.

See also Converting between CPU sets and node sets.

diff --git a/projects/hwloc/doc/v2.12.0rc1/a00140.php b/projects/hwloc/doc/v2.12.0/a00140.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00140.php rename to projects/hwloc/doc/v2.12.0/a00140.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00141.php b/projects/hwloc/doc/v2.12.0/a00141.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00141.php rename to projects/hwloc/doc/v2.12.0/a00141.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00142.php b/projects/hwloc/doc/v2.12.0/a00142.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00142.php rename to projects/hwloc/doc/v2.12.0/a00142.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00143.php b/projects/hwloc/doc/v2.12.0/a00143.php similarity index 81% rename from projects/hwloc/doc/v2.12.0rc1/a00143.php rename to projects/hwloc/doc/v2.12.0/a00143.php index 985a46d33e..caf7a12e81 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00143.php +++ b/projects/hwloc/doc/v2.12.0/a00143.php @@ -55,26 +55,26 @@   int hwloc_get_memory_parents_depth (hwloc_topology_t topology)   -static int hwloc_get_type_or_below_depth (hwloc_topology_t topology, hwloc_obj_type_t type) -  -static int hwloc_get_type_or_above_depth (hwloc_topology_t topology, hwloc_obj_type_t type) -  +int hwloc_get_type_or_below_depth (hwloc_topology_t topology, hwloc_obj_type_t type) +  +int hwloc_get_type_or_above_depth (hwloc_topology_t topology, hwloc_obj_type_t type) +  hwloc_obj_type_t hwloc_get_depth_type (hwloc_topology_t topology, int depth)   unsigned hwloc_get_nbobjs_by_depth (hwloc_topology_t topology, int depth)   -static int hwloc_get_nbobjs_by_type (hwloc_topology_t topology, hwloc_obj_type_t type) -  -static hwloc_obj_t hwloc_get_root_obj (hwloc_topology_t topology) -  +int hwloc_get_nbobjs_by_type (hwloc_topology_t topology, hwloc_obj_type_t type) +  +hwloc_obj_t hwloc_get_root_obj (hwloc_topology_t topology) +  hwloc_obj_t hwloc_get_obj_by_depth (hwloc_topology_t topology, int depth, unsigned idx)   -static hwloc_obj_t hwloc_get_obj_by_type (hwloc_topology_t topology, hwloc_obj_type_t type, unsigned idx) -  -static hwloc_obj_t hwloc_get_next_obj_by_depth (hwloc_topology_t topology, int depth, hwloc_obj_t prev) -  -static hwloc_obj_t hwloc_get_next_obj_by_type (hwloc_topology_t topology, hwloc_obj_type_t type, hwloc_obj_t prev) -  +hwloc_obj_t hwloc_get_obj_by_type (hwloc_topology_t topology, hwloc_obj_type_t type, unsigned idx) +  +hwloc_obj_t hwloc_get_next_obj_by_depth (hwloc_topology_t topology, int depth, hwloc_obj_t prev) +  +hwloc_obj_t hwloc_get_next_obj_by_type (hwloc_topology_t topology, hwloc_obj_type_t type, hwloc_obj_t prev) + 

Detailed Description

Be sure to see the figure in Terms and Definitions that shows a complete topology tree, including depths, child/sibling/cousin relationships, and an example of an asymmetric topology where one package has fewer caches than its peers.

@@ -204,8 +204,8 @@
- -

◆ hwloc_get_nbobjs_by_type()

+ +

◆ hwloc_get_nbobjs_by_type()

@@ -214,7 +214,7 @@ - + @@ -233,7 +233,7 @@
static int hwloc_get_nbobjs_by_type int hwloc_get_nbobjs_by_type ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -247,8 +247,8 @@
- -

◆ hwloc_get_next_obj_by_depth()

+ +

◆ hwloc_get_next_obj_by_depth()

@@ -257,7 +257,7 @@ - + @@ -282,7 +282,7 @@
static hwloc_obj_t hwloc_get_next_obj_by_depth hwloc_obj_t hwloc_get_next_obj_by_depth ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -296,8 +296,8 @@
- -

◆ hwloc_get_next_obj_by_type()

+ +

◆ hwloc_get_next_obj_by_type()

@@ -306,7 +306,7 @@ - + @@ -331,7 +331,7 @@
static hwloc_obj_t hwloc_get_next_obj_by_type hwloc_obj_t hwloc_get_next_obj_by_type ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -386,8 +386,8 @@
- -

◆ hwloc_get_obj_by_type()

+ +

◆ hwloc_get_obj_by_type()

@@ -396,7 +396,7 @@ - + @@ -421,7 +421,7 @@
static hwloc_obj_t hwloc_get_obj_by_type hwloc_obj_t hwloc_get_obj_by_type ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -435,8 +435,8 @@
- -

◆ hwloc_get_root_obj()

+ +

◆ hwloc_get_root_obj()

@@ -445,7 +445,7 @@ - + @@ -454,7 +454,7 @@
static hwloc_obj_t hwloc_get_root_obj hwloc_obj_t hwloc_get_root_obj ( hwloc_topology_t  topology)
-inlinestatic +inline
@@ -499,15 +499,15 @@ HWLOC_TYPE_DEPTH_UNKNOWN if no object of this type is present on the underlying architecture, or if the OS doesn't provide this kind of information.
HWLOC_TYPE_DEPTH_MULTIPLE if type HWLOC_OBJ_GROUP is given and multiple levels of Groups exist.
-
Note
If the type is absent but a similar type is acceptable, see also hwloc_get_type_or_below_depth() and hwloc_get_type_or_above_depth().
+
Note
If the type is absent but a similar type is acceptable, see also hwloc_get_type_or_below_depth() and hwloc_get_type_or_above_depth().
See also
hwloc_get_memory_parents_depth() for managing the depth of memory objects.
hwloc_type_sscanf_as_depth() for returning the depth of objects whose type is given as a string.
- -

◆ hwloc_get_type_or_above_depth()

+ +

◆ hwloc_get_type_or_above_depth()

@@ -516,7 +516,7 @@ - + @@ -535,7 +535,7 @@
static int hwloc_get_type_or_above_depth int hwloc_get_type_or_above_depth ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -547,8 +547,8 @@
- -

◆ hwloc_get_type_or_below_depth()

+ +

◆ hwloc_get_type_or_below_depth()

@@ -557,7 +557,7 @@ - + @@ -576,7 +576,7 @@
static int hwloc_get_type_or_below_depth int hwloc_get_type_or_below_depth ( hwloc_topology_t  topology,
-inlinestatic +inline
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00144.php b/projects/hwloc/doc/v2.12.0/a00144.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00144.php rename to projects/hwloc/doc/v2.12.0/a00144.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00145.php b/projects/hwloc/doc/v2.12.0/a00145.php similarity index 90% rename from projects/hwloc/doc/v2.12.0rc1/a00145.php rename to projects/hwloc/doc/v2.12.0/a00145.php index 38dcd6954e..53e807ab8f 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00145.php +++ b/projects/hwloc/doc/v2.12.0/a00145.php @@ -32,8 +32,8 @@ - - + + @@ -83,8 +83,8 @@ - -

◆ hwloc_obj_get_info_by_name()

+ +

◆ hwloc_obj_get_info_by_name()

@@ -93,7 +93,7 @@
+inline

Functions

static const char * hwloc_obj_get_info_by_name (hwloc_obj_t obj, const char *name)
 
const char * hwloc_obj_get_info_by_name (hwloc_obj_t obj, const char *name)
 
int hwloc_obj_add_info (hwloc_obj_t obj, const char *name, const char *value)
 
int hwloc_obj_set_subtype (hwloc_topology_t topology, hwloc_obj_t obj, const char *subtype)
- + @@ -112,7 +112,7 @@
static const char * hwloc_obj_get_info_by_name const char * hwloc_obj_get_info_by_name ( hwloc_obj_t  obj,
-inlinestatic
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00146.php b/projects/hwloc/doc/v2.12.0/a00146.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00146.php rename to projects/hwloc/doc/v2.12.0/a00146.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00147.php b/projects/hwloc/doc/v2.12.0/a00147.php similarity index 97% rename from projects/hwloc/doc/v2.12.0rc1/a00147.php rename to projects/hwloc/doc/v2.12.0/a00147.php index ee21617e59..6eb8b4e8ac 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00147.php +++ b/projects/hwloc/doc/v2.12.0/a00147.php @@ -77,8 +77,8 @@   void * hwloc_alloc_membind (hwloc_topology_t topology, size_t len, hwloc_const_bitmap_t set, hwloc_membind_policy_t policy, int flags)   -static void * hwloc_alloc_membind_policy (hwloc_topology_t topology, size_t len, hwloc_const_bitmap_t set, hwloc_membind_policy_t policy, int flags) -  +void * hwloc_alloc_membind_policy (hwloc_topology_t topology, size_t len, hwloc_const_bitmap_t set, hwloc_membind_policy_t policy, int flags) +  int hwloc_free (hwloc_topology_t topology, void *addr, size_t len)   @@ -93,11 +93,11 @@

When the requested binding operation is not available and the HWLOC_MEMBIND_STRICT flag was passed, the function returns -1. errno will be set to ENOSYS when the system does support the specified action or policy (e.g., some systems only allow binding memory on a per-thread basis, whereas other systems only allow binding memory for all threads in a process). errno will be set to EXDEV when the requested set can not be enforced (e.g., some systems only allow binding memory to a single NUMA node).

If HWLOC_MEMBIND_STRICT was not passed, the function may fail as well, or the operating system may use a slightly different operation (with side-effects, smaller binding set, etc.) when the requested operation is not exactly supported.

The most portable form that should be preferred over the others whenever possible is as follows. It allocates some memory hopefully bound to the specified set. To do so, hwloc will possibly have to change the current memory binding policy in order to actually get the memory bound, if the OS does not provide any other way to simply allocate bound memory without changing the policy for all allocations. That is the difference with hwloc_alloc_membind(), which will never change the current memory binding policy.

-
hwloc_alloc_membind_policy(topology, size, set,
+
hwloc_alloc_membind_policy(topology, size, set,
-
static void * hwloc_alloc_membind_policy(hwloc_topology_t topology, size_t len, hwloc_const_bitmap_t set, hwloc_membind_policy_t policy, int flags)
Allocate some memory on NUMA memory nodes specified by set.
+
void * hwloc_alloc_membind_policy(hwloc_topology_t topology, size_t len, hwloc_const_bitmap_t set, hwloc_membind_policy_t policy, int flags)
Allocate some memory on NUMA memory nodes specified by set.
@ HWLOC_MEMBIND_BIND
Allocate memory on the specified nodes.
Definition hwloc.h:1537
-

Each hwloc memory binding function takes a bitmap argument that is a CPU set by default, or a NUMA memory node set if the flag HWLOC_MEMBIND_BYNODESET is specified. See Object Sets (hwloc_cpuset_t and hwloc_nodeset_t) and The bitmap API for a discussion of CPU sets and NUMA memory node sets. It is also possible to convert between CPU set and node set using hwloc_cpuset_to_nodeset() or hwloc_cpuset_from_nodeset().

+

Each hwloc memory binding function takes a bitmap argument that is a CPU set by default, or a NUMA memory node set if the flag HWLOC_MEMBIND_BYNODESET is specified. See Object Sets (hwloc_cpuset_t and hwloc_nodeset_t) and The bitmap API for a discussion of CPU sets and NUMA memory node sets. It is also possible to convert between CPU set and node set using hwloc_cpuset_to_nodeset() or hwloc_cpuset_from_nodeset().

Memory binding by CPU set cannot work for CPU-less NUMA memory nodes. Binding by nodeset should therefore be preferred whenever possible.

See also
Some example codes are available under doc/examples/ in the source tree.
Note
On some operating systems, memory binding affects the CPU binding; see HWLOC_MEMBIND_NOCPUBIND
@@ -266,8 +266,8 @@
- -

◆ hwloc_alloc_membind_policy()

+ +

◆ hwloc_alloc_membind_policy()

@@ -276,7 +276,7 @@ - + @@ -313,7 +313,7 @@
static void * hwloc_alloc_membind_policy void * hwloc_alloc_membind_policy ( hwloc_topology_t  topology,
-inlinestatic +inline
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00148.php b/projects/hwloc/doc/v2.12.0/a00148.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00148.php rename to projects/hwloc/doc/v2.12.0/a00148.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00149.php b/projects/hwloc/doc/v2.12.0/a00149.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00149.php rename to projects/hwloc/doc/v2.12.0/a00149.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00150.php b/projects/hwloc/doc/v2.12.0/a00150.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00150.php rename to projects/hwloc/doc/v2.12.0/a00150.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00151.php b/projects/hwloc/doc/v2.12.0/a00151.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00151.php rename to projects/hwloc/doc/v2.12.0/a00151.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00152.php b/projects/hwloc/doc/v2.12.0/a00152.php similarity index 67% rename from projects/hwloc/doc/v2.12.0rc1/a00152.php rename to projects/hwloc/doc/v2.12.0/a00152.php index f7442e81d2..02319dc3d7 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00152.php +++ b/projects/hwloc/doc/v2.12.0/a00152.php @@ -32,29 +32,29 @@ - - + + - - - - - - - - - - - - - - + + + + + + + + + + + + + +

Functions

static hwloc_obj_t hwloc_get_first_largest_obj_inside_cpuset (hwloc_topology_t topology, hwloc_const_cpuset_t set)
 
hwloc_obj_t hwloc_get_first_largest_obj_inside_cpuset (hwloc_topology_t topology, hwloc_const_cpuset_t set)
 
int hwloc_get_largest_objs_inside_cpuset (hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_obj_t *restrict objs, int max)
 
static hwloc_obj_t hwloc_get_next_obj_inside_cpuset_by_depth (hwloc_topology_t topology, hwloc_const_cpuset_t set, int depth, hwloc_obj_t prev)
 
static hwloc_obj_t hwloc_get_next_obj_inside_cpuset_by_type (hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_obj_type_t type, hwloc_obj_t prev)
 
static hwloc_obj_t hwloc_get_obj_inside_cpuset_by_depth (hwloc_topology_t topology, hwloc_const_cpuset_t set, int depth, unsigned idx)
 
static hwloc_obj_t hwloc_get_obj_inside_cpuset_by_type (hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_obj_type_t type, unsigned idx)
 
static unsigned hwloc_get_nbobjs_inside_cpuset_by_depth (hwloc_topology_t topology, hwloc_const_cpuset_t set, int depth)
 
static int hwloc_get_nbobjs_inside_cpuset_by_type (hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_obj_type_t type)
 
static int hwloc_get_obj_index_inside_cpuset (hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_obj_t obj)
 
hwloc_obj_t hwloc_get_next_obj_inside_cpuset_by_depth (hwloc_topology_t topology, hwloc_const_cpuset_t set, int depth, hwloc_obj_t prev)
 
hwloc_obj_t hwloc_get_next_obj_inside_cpuset_by_type (hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_obj_type_t type, hwloc_obj_t prev)
 
hwloc_obj_t hwloc_get_obj_inside_cpuset_by_depth (hwloc_topology_t topology, hwloc_const_cpuset_t set, int depth, unsigned idx)
 
hwloc_obj_t hwloc_get_obj_inside_cpuset_by_type (hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_obj_type_t type, unsigned idx)
 
unsigned hwloc_get_nbobjs_inside_cpuset_by_depth (hwloc_topology_t topology, hwloc_const_cpuset_t set, int depth)
 
int hwloc_get_nbobjs_inside_cpuset_by_type (hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_obj_type_t type)
 
int hwloc_get_obj_index_inside_cpuset (hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_obj_t obj)
 

Detailed Description

Function Documentation

- -

◆ hwloc_get_first_largest_obj_inside_cpuset()

+ +

◆ hwloc_get_first_largest_obj_inside_cpuset()

@@ -63,7 +63,7 @@ - + @@ -82,7 +82,7 @@
static hwloc_obj_t hwloc_get_first_largest_obj_inside_cpuset hwloc_obj_t hwloc_get_first_largest_obj_inside_cpuset ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -140,8 +140,8 @@
- -

◆ hwloc_get_nbobjs_inside_cpuset_by_depth()

+ +

◆ hwloc_get_nbobjs_inside_cpuset_by_depth()

@@ -150,7 +150,7 @@ - + @@ -175,7 +175,7 @@
static unsigned hwloc_get_nbobjs_inside_cpuset_by_depth unsigned hwloc_get_nbobjs_inside_cpuset_by_depth ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -190,8 +190,8 @@
- -

◆ hwloc_get_nbobjs_inside_cpuset_by_type()

+ +

◆ hwloc_get_nbobjs_inside_cpuset_by_type()

@@ -200,7 +200,7 @@ - + @@ -225,7 +225,7 @@
static int hwloc_get_nbobjs_inside_cpuset_by_type int hwloc_get_nbobjs_inside_cpuset_by_type ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -235,15 +235,15 @@
0 if there are no objects of that type in the topology.
--1 if there are multiple levels of objects of that type, the caller should fallback to hwloc_get_nbobjs_inside_cpuset_by_depth().
+-1 if there are multiple levels of objects of that type, the caller should fallback to hwloc_get_nbobjs_inside_cpuset_by_depth().
Note
Objects with empty CPU sets are ignored (otherwise they would be considered included in any given set).
This function cannot work if objects of the given type do not have CPU sets (I/O objects).
- -

◆ hwloc_get_next_obj_inside_cpuset_by_depth()

+ +

◆ hwloc_get_next_obj_inside_cpuset_by_depth()

@@ -252,7 +252,7 @@ - + @@ -283,7 +283,7 @@
static hwloc_obj_t hwloc_get_next_obj_inside_cpuset_by_depth hwloc_obj_t hwloc_get_next_obj_inside_cpuset_by_depth ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -301,8 +301,8 @@
- -

◆ hwloc_get_next_obj_inside_cpuset_by_type()

+ +

◆ hwloc_get_next_obj_inside_cpuset_by_type()

@@ -311,7 +311,7 @@ - + @@ -342,7 +342,7 @@
static hwloc_obj_t hwloc_get_next_obj_inside_cpuset_by_type hwloc_obj_t hwloc_get_next_obj_inside_cpuset_by_type ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -357,15 +357,15 @@
NULL if there is no depth for the given type.
-NULL if there are multiple depths for the given type, the caller should fallback to hwloc_get_next_obj_inside_cpuset_by_depth().
+NULL if there are multiple depths for the given type, the caller should fallback to hwloc_get_next_obj_inside_cpuset_by_depth().
Note
Objects with empty CPU sets are ignored (otherwise they would be considered included in any given set).
This function cannot work if objects of the given type do not have CPU sets (I/O or Misc objects).
- -

◆ hwloc_get_obj_index_inside_cpuset()

+ +

◆ hwloc_get_obj_index_inside_cpuset()

@@ -374,7 +374,7 @@ - + @@ -399,7 +399,7 @@
static int hwloc_get_obj_index_inside_cpuset int hwloc_get_obj_index_inside_cpuset ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -415,8 +415,8 @@
- -

◆ hwloc_get_obj_inside_cpuset_by_depth()

+ +

◆ hwloc_get_obj_inside_cpuset_by_depth()

@@ -425,7 +425,7 @@ - + @@ -456,7 +456,7 @@
static hwloc_obj_t hwloc_get_obj_inside_cpuset_by_depth hwloc_obj_t hwloc_get_obj_inside_cpuset_by_depth ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -469,8 +469,8 @@
- -

◆ hwloc_get_obj_inside_cpuset_by_type()

+ +

◆ hwloc_get_obj_inside_cpuset_by_type()

@@ -479,7 +479,7 @@ - + @@ -510,7 +510,7 @@
static hwloc_obj_t hwloc_get_obj_inside_cpuset_by_type hwloc_obj_t hwloc_get_obj_inside_cpuset_by_type ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -522,7 +522,7 @@
NULL if there is no depth for given type.
-NULL if there are multiple depths for given type, the caller should fallback to hwloc_get_obj_inside_cpuset_by_depth().
+NULL if there are multiple depths for given type, the caller should fallback to hwloc_get_obj_inside_cpuset_by_depth().
Note
Objects with empty CPU sets are ignored (otherwise they would be considered included in any given set).
This function cannot work if objects of the given type do not have CPU sets (I/O or Misc objects).
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00153.php b/projects/hwloc/doc/v2.12.0/a00153.php similarity index 64% rename from projects/hwloc/doc/v2.12.0rc1/a00153.php rename to projects/hwloc/doc/v2.12.0/a00153.php index ad4bddf7c3..97316ee289 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00153.php +++ b/projects/hwloc/doc/v2.12.0/a00153.php @@ -32,19 +32,19 @@ - - - - - - - - + + + + + + + +

Functions

static hwloc_obj_t hwloc_get_child_covering_cpuset (hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_obj_t parent)
 
static hwloc_obj_t hwloc_get_obj_covering_cpuset (hwloc_topology_t topology, hwloc_const_cpuset_t set)
 
static hwloc_obj_t hwloc_get_next_obj_covering_cpuset_by_depth (hwloc_topology_t topology, hwloc_const_cpuset_t set, int depth, hwloc_obj_t prev)
 
static hwloc_obj_t hwloc_get_next_obj_covering_cpuset_by_type (hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_obj_type_t type, hwloc_obj_t prev)
 
hwloc_obj_t hwloc_get_child_covering_cpuset (hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_obj_t parent)
 
hwloc_obj_t hwloc_get_obj_covering_cpuset (hwloc_topology_t topology, hwloc_const_cpuset_t set)
 
hwloc_obj_t hwloc_get_next_obj_covering_cpuset_by_depth (hwloc_topology_t topology, hwloc_const_cpuset_t set, int depth, hwloc_obj_t prev)
 
hwloc_obj_t hwloc_get_next_obj_covering_cpuset_by_type (hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_obj_type_t type, hwloc_obj_t prev)
 

Detailed Description

Function Documentation

- -

◆ hwloc_get_child_covering_cpuset()

+ +

◆ hwloc_get_child_covering_cpuset()

@@ -53,7 +53,7 @@ - + @@ -78,7 +78,7 @@
static hwloc_obj_t hwloc_get_child_covering_cpuset hwloc_obj_t hwloc_get_child_covering_cpuset ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -91,8 +91,8 @@
- -

◆ hwloc_get_next_obj_covering_cpuset_by_depth()

+ +

◆ hwloc_get_next_obj_covering_cpuset_by_depth()

@@ -101,7 +101,7 @@ - + @@ -132,7 +132,7 @@
static hwloc_obj_t hwloc_get_next_obj_covering_cpuset_by_depth hwloc_obj_t hwloc_get_next_obj_covering_cpuset_by_depth ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -148,8 +148,8 @@
- -

◆ hwloc_get_next_obj_covering_cpuset_by_type()

+ +

◆ hwloc_get_next_obj_covering_cpuset_by_type()

@@ -158,7 +158,7 @@ - + @@ -189,7 +189,7 @@
static hwloc_obj_t hwloc_get_next_obj_covering_cpuset_by_type hwloc_obj_t hwloc_get_next_obj_covering_cpuset_by_type ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -204,13 +204,13 @@
NULL if there is no depth for the given type.
-NULL if there are multiple depths for the given type, the caller should fallback to hwloc_get_next_obj_covering_cpuset_by_depth().
+NULL if there are multiple depths for the given type, the caller should fallback to hwloc_get_next_obj_covering_cpuset_by_depth().
Note
This function cannot work if objects of the given type do not have CPU sets (I/O or Misc objects).
- -

◆ hwloc_get_obj_covering_cpuset()

+ +

◆ hwloc_get_obj_covering_cpuset()

@@ -219,7 +219,7 @@ - + @@ -238,7 +238,7 @@
static hwloc_obj_t hwloc_get_obj_covering_cpuset hwloc_obj_t hwloc_get_obj_covering_cpuset ( hwloc_topology_t  topology,
-inlinestatic +inline
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00154.php b/projects/hwloc/doc/v2.12.0/a00154.php similarity index 65% rename from projects/hwloc/doc/v2.12.0rc1/a00154.php rename to projects/hwloc/doc/v2.12.0/a00154.php index c3405560e8..724e2c1367 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00154.php +++ b/projects/hwloc/doc/v2.12.0/a00154.php @@ -32,22 +32,22 @@ - - - - - - - - - - + + + + + + + + + +

Functions

static hwloc_obj_t hwloc_get_ancestor_obj_by_depth (hwloc_topology_t topology, int depth, hwloc_obj_t obj)
 
static hwloc_obj_t hwloc_get_ancestor_obj_by_type (hwloc_topology_t topology, hwloc_obj_type_t type, hwloc_obj_t obj)
 
static hwloc_obj_t hwloc_get_common_ancestor_obj (hwloc_topology_t topology, hwloc_obj_t obj1, hwloc_obj_t obj2)
 
static int hwloc_obj_is_in_subtree (hwloc_topology_t topology, hwloc_obj_t obj, hwloc_obj_t subtree_root)
 
static hwloc_obj_t hwloc_get_next_child (hwloc_topology_t topology, hwloc_obj_t parent, hwloc_obj_t prev)
 
hwloc_obj_t hwloc_get_ancestor_obj_by_depth (hwloc_topology_t topology, int depth, hwloc_obj_t obj)
 
hwloc_obj_t hwloc_get_ancestor_obj_by_type (hwloc_topology_t topology, hwloc_obj_type_t type, hwloc_obj_t obj)
 
hwloc_obj_t hwloc_get_common_ancestor_obj (hwloc_topology_t topology, hwloc_obj_t obj1, hwloc_obj_t obj2)
 
int hwloc_obj_is_in_subtree (hwloc_topology_t topology, hwloc_obj_t obj, hwloc_obj_t subtree_root)
 
hwloc_obj_t hwloc_get_next_child (hwloc_topology_t topology, hwloc_obj_t parent, hwloc_obj_t prev)
 

Detailed Description

Be sure to see the figure in Terms and Definitions that shows a complete topology tree, including depths, child/sibling/cousin relationships, and an example of an asymmetric topology where one package has fewer caches than its peers.

Function Documentation

- -

◆ hwloc_get_ancestor_obj_by_depth()

+ +

◆ hwloc_get_ancestor_obj_by_depth()

@@ -56,7 +56,7 @@ - + @@ -81,7 +81,7 @@
static hwloc_obj_t hwloc_get_ancestor_obj_by_depth hwloc_obj_t hwloc_get_ancestor_obj_by_depth ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -94,8 +94,8 @@
- -

◆ hwloc_get_ancestor_obj_by_type()

+ +

◆ hwloc_get_ancestor_obj_by_type()

@@ -104,7 +104,7 @@ - + @@ -129,7 +129,7 @@
static hwloc_obj_t hwloc_get_ancestor_obj_by_type hwloc_obj_t hwloc_get_ancestor_obj_by_type ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -144,8 +144,8 @@
- -

◆ hwloc_get_common_ancestor_obj()

+ +

◆ hwloc_get_common_ancestor_obj()

@@ -154,7 +154,7 @@ - + @@ -179,7 +179,7 @@
static hwloc_obj_t hwloc_get_common_ancestor_obj hwloc_obj_t hwloc_get_common_ancestor_obj ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -190,8 +190,8 @@
- -

◆ hwloc_get_next_child()

+ +

◆ hwloc_get_next_child()

@@ -200,7 +200,7 @@ - + @@ -225,7 +225,7 @@
static hwloc_obj_t hwloc_get_next_child hwloc_obj_t hwloc_get_next_child ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -240,8 +240,8 @@
- -

◆ hwloc_obj_is_in_subtree()

+ +

◆ hwloc_obj_is_in_subtree()

@@ -250,7 +250,7 @@ - + @@ -275,7 +275,7 @@
static int hwloc_obj_is_in_subtree int hwloc_obj_is_in_subtree ( hwloc_topology_t  topology,
-inlinestatic +inline
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00155.php b/projects/hwloc/doc/v2.12.0/a00155.php similarity index 68% rename from projects/hwloc/doc/v2.12.0rc1/a00155.php rename to projects/hwloc/doc/v2.12.0/a00155.php index 299fb0eada..92d510e02b 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00155.php +++ b/projects/hwloc/doc/v2.12.0/a00155.php @@ -32,17 +32,17 @@ - - - - - - + + + + + +

Functions

static int hwloc_get_cache_type_depth (hwloc_topology_t topology, unsigned cachelevel, hwloc_obj_cache_type_t cachetype)
 
static hwloc_obj_t hwloc_get_cache_covering_cpuset (hwloc_topology_t topology, hwloc_const_cpuset_t set)
 
static hwloc_obj_t hwloc_get_shared_cache_covering_obj (hwloc_topology_t topology, hwloc_obj_t obj)
 
int hwloc_get_cache_type_depth (hwloc_topology_t topology, unsigned cachelevel, hwloc_obj_cache_type_t cachetype)
 
hwloc_obj_t hwloc_get_cache_covering_cpuset (hwloc_topology_t topology, hwloc_const_cpuset_t set)
 
hwloc_obj_t hwloc_get_shared_cache_covering_obj (hwloc_topology_t topology, hwloc_obj_t obj)
 

Detailed Description

Function Documentation

- -

◆ hwloc_get_cache_covering_cpuset()

+ +

◆ hwloc_get_cache_covering_cpuset()

@@ -51,7 +51,7 @@ - + @@ -70,7 +70,7 @@
static hwloc_obj_t hwloc_get_cache_covering_cpuset hwloc_obj_t hwloc_get_cache_covering_cpuset ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -80,8 +80,8 @@
- -

◆ hwloc_get_cache_type_depth()

+ +

◆ hwloc_get_cache_type_depth()

@@ -90,7 +90,7 @@ - + @@ -115,7 +115,7 @@
static int hwloc_get_cache_type_depth int hwloc_get_cache_type_depth ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -135,8 +135,8 @@
- -

◆ hwloc_get_shared_cache_covering_obj()

+ +

◆ hwloc_get_shared_cache_covering_obj()

@@ -145,7 +145,7 @@ - + @@ -164,7 +164,7 @@
static hwloc_obj_t hwloc_get_shared_cache_covering_obj hwloc_obj_t hwloc_get_shared_cache_covering_obj ( hwloc_topology_t  topology,
-inlinestatic +inline
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00156.php b/projects/hwloc/doc/v2.12.0/a00156.php similarity index 81% rename from projects/hwloc/doc/v2.12.0rc1/a00156.php rename to projects/hwloc/doc/v2.12.0/a00156.php index 2d1daae55c..fa8d919abe 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00156.php +++ b/projects/hwloc/doc/v2.12.0/a00156.php @@ -34,16 +34,16 @@ Functions int hwloc_bitmap_singlify_per_core (hwloc_topology_t topology, hwloc_bitmap_t cpuset, unsigned which)   -static hwloc_obj_t hwloc_get_pu_obj_by_os_index (hwloc_topology_t topology, unsigned os_index) -  -static hwloc_obj_t hwloc_get_numanode_obj_by_os_index (hwloc_topology_t topology, unsigned os_index) -  +hwloc_obj_t hwloc_get_pu_obj_by_os_index (hwloc_topology_t topology, unsigned os_index) +  +hwloc_obj_t hwloc_get_numanode_obj_by_os_index (hwloc_topology_t topology, unsigned os_index) +  unsigned hwloc_get_closest_objs (hwloc_topology_t topology, hwloc_obj_t src, hwloc_obj_t *restrict objs, unsigned max)   -static hwloc_obj_t hwloc_get_obj_below_by_type (hwloc_topology_t topology, hwloc_obj_type_t type1, unsigned idx1, hwloc_obj_type_t type2, unsigned idx2) -  -static hwloc_obj_t hwloc_get_obj_below_array_by_type (hwloc_topology_t topology, int nr, hwloc_obj_type_t *typev, unsigned *idxv) -  +hwloc_obj_t hwloc_get_obj_below_by_type (hwloc_topology_t topology, hwloc_obj_type_t type1, unsigned idx1, hwloc_obj_type_t type2, unsigned idx2) +  +hwloc_obj_t hwloc_get_obj_below_array_by_type (hwloc_topology_t topology, int nr, hwloc_obj_type_t *typev, unsigned *idxv) +  hwloc_obj_t hwloc_get_obj_with_same_locality (hwloc_topology_t topology, hwloc_obj_t src, hwloc_obj_type_t type, const char *subtype, const char *nameprefix, unsigned long flags)   @@ -138,8 +138,8 @@
- -

◆ hwloc_get_numanode_obj_by_os_index()

+ +

◆ hwloc_get_numanode_obj_by_os_index()

@@ -148,7 +148,7 @@ - + @@ -167,7 +167,7 @@
static hwloc_obj_t hwloc_get_numanode_obj_by_os_index hwloc_obj_t hwloc_get_numanode_obj_by_os_index ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -178,8 +178,8 @@
- -

◆ hwloc_get_obj_below_array_by_type()

+ +

◆ hwloc_get_obj_below_array_by_type()

@@ -188,7 +188,7 @@ - + @@ -219,13 +219,13 @@
static hwloc_obj_t hwloc_get_obj_below_array_by_type hwloc_obj_t hwloc_get_obj_below_array_by_type ( hwloc_topology_t  topology,
-inlinestatic +inline

Find an object below a chain of objects specified by types and indexes.

-

This is a generalized version of hwloc_get_obj_below_by_type().

+

This is a generalized version of hwloc_get_obj_below_by_type().

Arrays typev and idxv must contain nr types and indexes.

Start from the top system object and walk the arrays typev and idxv. For each type and logical index couple in the arrays, look under the previously found object to find the index-th object of the given type. Indexes are specified within the parent, not withing the entire system.

For instance, if nr is 3, typev contains NODE, PACKAGE and CORE, and idxv contains 0, 1 and 2, return the third core object below the second package below the first NUMA node.

@@ -234,8 +234,8 @@
- -

◆ hwloc_get_obj_below_by_type()

+ +

◆ hwloc_get_obj_below_by_type()

@@ -244,7 +244,7 @@ - + @@ -281,7 +281,7 @@
static hwloc_obj_t hwloc_get_obj_below_by_type hwloc_obj_t hwloc_get_obj_below_by_type ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -358,8 +358,8 @@
- -

◆ hwloc_get_pu_obj_by_os_index()

+ +

◆ hwloc_get_pu_obj_by_os_index()

@@ -368,7 +368,7 @@ - + @@ -387,7 +387,7 @@
static hwloc_obj_t hwloc_get_pu_obj_by_os_index hwloc_obj_t hwloc_get_pu_obj_by_os_index ( hwloc_topology_t  topology,
-inlinestatic +inline
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00157.php b/projects/hwloc/doc/v2.12.0/a00157.php similarity index 85% rename from projects/hwloc/doc/v2.12.0rc1/a00157.php rename to projects/hwloc/doc/v2.12.0/a00157.php index 6970e52838..8c97312306 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00157.php +++ b/projects/hwloc/doc/v2.12.0/a00157.php @@ -39,8 +39,8 @@ - - + +

Functions

static int hwloc_distrib (hwloc_topology_t topology, hwloc_obj_t *roots, unsigned n_roots, hwloc_cpuset_t *set, unsigned n, int until, unsigned long flags)
 
int hwloc_distrib (hwloc_topology_t topology, hwloc_obj_t *roots, unsigned n_roots, hwloc_cpuset_t *set, unsigned n, int until, unsigned long flags)
 

Detailed Description

Enumeration Type Documentation

@@ -56,7 +56,7 @@
-

Flags to be given to hwloc_distrib().

+

Flags to be given to hwloc_distrib().

@@ -65,8 +65,8 @@

Function Documentation

- -

◆ hwloc_distrib()

+ +

◆ hwloc_distrib()

@@ -75,7 +75,7 @@
+inline
Enumerator
HWLOC_DISTRIB_FLAG_REVERSE 

Distrib in reverse order, starting from the last objects.

- + @@ -124,7 +124,7 @@
static int hwloc_distrib int hwloc_distrib ( hwloc_topology_t  topology,
-inlinestatic
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00158.php b/projects/hwloc/doc/v2.12.0/a00158.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00158.php rename to projects/hwloc/doc/v2.12.0/a00158.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00159.php b/projects/hwloc/doc/v2.12.0/a00159.php similarity index 71% rename from projects/hwloc/doc/v2.12.0rc1/a00159.php rename to projects/hwloc/doc/v2.12.0/a00159.php index d8e4e8271a..7ea7c0e3fb 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00159.php +++ b/projects/hwloc/doc/v2.12.0/a00159.php @@ -32,15 +32,15 @@ - - - - + + + +

Functions

static int hwloc_cpuset_to_nodeset (hwloc_topology_t topology, hwloc_const_cpuset_t _cpuset, hwloc_nodeset_t nodeset)
 
static int hwloc_cpuset_from_nodeset (hwloc_topology_t topology, hwloc_cpuset_t _cpuset, hwloc_const_nodeset_t nodeset)
 
int hwloc_cpuset_to_nodeset (hwloc_topology_t topology, hwloc_const_cpuset_t _cpuset, hwloc_nodeset_t nodeset)
 
int hwloc_cpuset_from_nodeset (hwloc_topology_t topology, hwloc_cpuset_t _cpuset, hwloc_const_nodeset_t nodeset)
 

Detailed Description

Function Documentation

- -

◆ hwloc_cpuset_from_nodeset()

+ +

◆ hwloc_cpuset_from_nodeset()

@@ -49,7 +49,7 @@ - + @@ -74,7 +74,7 @@
static int hwloc_cpuset_from_nodeset int hwloc_cpuset_from_nodeset ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -89,8 +89,8 @@
- -

◆ hwloc_cpuset_to_nodeset()

+ +

◆ hwloc_cpuset_to_nodeset()

@@ -99,7 +99,7 @@ - + @@ -124,7 +124,7 @@
static int hwloc_cpuset_to_nodeset int hwloc_cpuset_to_nodeset ( hwloc_topology_t  topology,
-inlinestatic +inline
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00160.php b/projects/hwloc/doc/v2.12.0/a00160.php similarity index 58% rename from projects/hwloc/doc/v2.12.0rc1/a00160.php rename to projects/hwloc/doc/v2.12.0/a00160.php index 2ee463f576..451d9d4b2b 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00160.php +++ b/projects/hwloc/doc/v2.12.0/a00160.php @@ -32,25 +32,25 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + +

Functions

static hwloc_obj_t hwloc_get_non_io_ancestor_obj (hwloc_topology_t topology, hwloc_obj_t ioobj)
 
static hwloc_obj_t hwloc_get_next_pcidev (hwloc_topology_t topology, hwloc_obj_t prev)
 
static hwloc_obj_t hwloc_get_pcidev_by_busid (hwloc_topology_t topology, unsigned domain, unsigned bus, unsigned dev, unsigned func)
 
static hwloc_obj_t hwloc_get_pcidev_by_busidstring (hwloc_topology_t topology, const char *busid)
 
static hwloc_obj_t hwloc_get_next_osdev (hwloc_topology_t topology, hwloc_obj_t prev)
 
static hwloc_obj_t hwloc_get_next_bridge (hwloc_topology_t topology, hwloc_obj_t prev)
 
static int hwloc_bridge_covers_pcibus (hwloc_obj_t bridge, unsigned domain, unsigned bus)
 
hwloc_obj_t hwloc_get_non_io_ancestor_obj (hwloc_topology_t topology, hwloc_obj_t ioobj)
 
hwloc_obj_t hwloc_get_next_pcidev (hwloc_topology_t topology, hwloc_obj_t prev)
 
hwloc_obj_t hwloc_get_pcidev_by_busid (hwloc_topology_t topology, unsigned domain, unsigned bus, unsigned dev, unsigned func)
 
hwloc_obj_t hwloc_get_pcidev_by_busidstring (hwloc_topology_t topology, const char *busid)
 
hwloc_obj_t hwloc_get_next_osdev (hwloc_topology_t topology, hwloc_obj_t prev)
 
hwloc_obj_t hwloc_get_next_bridge (hwloc_topology_t topology, hwloc_obj_t prev)
 
int hwloc_bridge_covers_pcibus (hwloc_obj_t bridge, unsigned domain, unsigned bus)
 

Detailed Description

Function Documentation

- -

◆ hwloc_bridge_covers_pcibus()

+ +

◆ hwloc_bridge_covers_pcibus()

@@ -59,7 +59,7 @@ - + @@ -84,15 +84,15 @@
static int hwloc_bridge_covers_pcibus int hwloc_bridge_covers_pcibus ( hwloc_obj_t  bridge,
-inlinestatic +inline
- -

◆ hwloc_get_next_bridge()

+ +

◆ hwloc_get_next_bridge()

@@ -101,7 +101,7 @@ - + @@ -120,7 +120,7 @@
static hwloc_obj_t hwloc_get_next_bridge hwloc_obj_t hwloc_get_next_bridge ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -134,8 +134,8 @@
- -

◆ hwloc_get_next_osdev()

+ +

◆ hwloc_get_next_osdev()

@@ -144,7 +144,7 @@ - + @@ -163,7 +163,7 @@
static hwloc_obj_t hwloc_get_next_osdev hwloc_obj_t hwloc_get_next_osdev ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -177,8 +177,8 @@
- -

◆ hwloc_get_next_pcidev()

+ +

◆ hwloc_get_next_pcidev()

@@ -187,7 +187,7 @@ - + @@ -206,7 +206,7 @@
static hwloc_obj_t hwloc_get_next_pcidev hwloc_obj_t hwloc_get_next_pcidev ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -220,8 +220,8 @@
- -

◆ hwloc_get_non_io_ancestor_obj()

+ +

◆ hwloc_get_non_io_ancestor_obj()

@@ -230,7 +230,7 @@ - + @@ -249,7 +249,7 @@
static hwloc_obj_t hwloc_get_non_io_ancestor_obj hwloc_obj_t hwloc_get_non_io_ancestor_obj ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -263,8 +263,8 @@
- -

◆ hwloc_get_pcidev_by_busid()

+ +

◆ hwloc_get_pcidev_by_busid()

@@ -273,7 +273,7 @@ - + @@ -310,7 +310,7 @@
static hwloc_obj_t hwloc_get_pcidev_by_busid hwloc_obj_t hwloc_get_pcidev_by_busid ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -320,8 +320,8 @@
- -

◆ hwloc_get_pcidev_by_busidstring()

+ +

◆ hwloc_get_pcidev_by_busidstring()

@@ -330,7 +330,7 @@ - + @@ -349,7 +349,7 @@
static hwloc_obj_t hwloc_get_pcidev_by_busidstring hwloc_obj_t hwloc_get_pcidev_by_busidstring ( hwloc_topology_t  topology,
-inlinestatic +inline
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00161.php b/projects/hwloc/doc/v2.12.0/a00161.php similarity index 99% rename from projects/hwloc/doc/v2.12.0rc1/a00161.php rename to projects/hwloc/doc/v2.12.0/a00161.php index 2295498c43..db7a83a88e 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00161.php +++ b/projects/hwloc/doc/v2.12.0/a00161.php @@ -1463,7 +1463,7 @@

Keep a single index among those set in bitmap bitmap.

May be useful before binding so that the process does not have a chance of migrating between multiple processors in the original mask. Instead of running the task on any PU inside the given CPU set, the operating system scheduler will be forced to run it on a single of these PUs. It avoids a migration overhead and cache-line ping-pongs between PUs.

-
Note
This function is NOT meant to distribute multiple processes within a single CPU set. It always return the same single bit when called multiple times on the same input set. hwloc_distrib() may be used for generating CPU sets to distribute multiple tasks below a single multi-PU object.
+
Note
This function is NOT meant to distribute multiple processes within a single CPU set. It always return the same single bit when called multiple times on the same input set. hwloc_distrib() may be used for generating CPU sets to distribute multiple tasks below a single multi-PU object.
This function cannot be applied to an object set directly. It should be applied to a copy (which may be obtained with hwloc_bitmap_dup()).
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00162.php b/projects/hwloc/doc/v2.12.0/a00162.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00162.php rename to projects/hwloc/doc/v2.12.0/a00162.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00163.php b/projects/hwloc/doc/v2.12.0/a00163.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00163.php rename to projects/hwloc/doc/v2.12.0/a00163.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00164.php b/projects/hwloc/doc/v2.12.0/a00164.php similarity index 97% rename from projects/hwloc/doc/v2.12.0rc1/a00164.php rename to projects/hwloc/doc/v2.12.0/a00164.php index 9d68dcb189..1975e6b443 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00164.php +++ b/projects/hwloc/doc/v2.12.0/a00164.php @@ -129,9 +129,13 @@

Values on the diagonal are set to 0.

This transformation only applies to bandwidth matrices.

-HWLOC_DISTANCES_TRANSFORM_MERGE_SWITCH_PORTS 

Merge switches with multiple ports into a single object. This currently only applies to NVSwitches where GPUs seem connected to different separate switch ports in the NVLinkBandwidth matrix. This transformation will replace all of them with the same port connected to all GPUs. Other ports are removed by applying HWLOC_DISTANCES_TRANSFORM_REMOVE_NULL internally.

+HWLOC_DISTANCES_TRANSFORM_MERGE_SWITCH_PORTS 

Merge switches with multiple ports into a single object.

+

This currently only applies to NVSwitches where GPUs seem connected to different switch ports. Switch ports must be objects with subtype "NVSwitch" as in the NVLinkBandwidth matrix.

+

This transformation will replace all ports with only the first one, now connected to all GPUs. Other ports are removed by applying HWLOC_DISTANCES_TRANSFORM_REMOVE_NULL internally.

-HWLOC_DISTANCES_TRANSFORM_TRANSITIVE_CLOSURE 

Apply a transitive closure to the matrix to connect objects across switches. This currently only applies to GPUs and NVSwitches in the NVLinkBandwidth matrix. All pairs of GPUs will be reported as directly connected.

+HWLOC_DISTANCES_TRANSFORM_TRANSITIVE_CLOSURE 

Apply a transitive closure to the matrix to connect objects across switches.

+

All pairs of GPUs will be reported as directly connected instead GPUs being only connected to switches.

+

Switch ports must be objects with subtype "NVSwitch" as in the NVLinkBandwidth matrix.

diff --git a/projects/hwloc/doc/v2.12.0rc1/a00165.php b/projects/hwloc/doc/v2.12.0/a00165.php similarity index 70% rename from projects/hwloc/doc/v2.12.0rc1/a00165.php rename to projects/hwloc/doc/v2.12.0/a00165.php index 81f5bd2ec5..168d173f58 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00165.php +++ b/projects/hwloc/doc/v2.12.0/a00165.php @@ -32,15 +32,15 @@ - - - - + + + +

Functions

static int hwloc_distances_obj_index (struct hwloc_distances_s *distances, hwloc_obj_t obj)
 
static int hwloc_distances_obj_pair_values (struct hwloc_distances_s *distances, hwloc_obj_t obj1, hwloc_obj_t obj2, hwloc_uint64_t *value1to2, hwloc_uint64_t *value2to1)
 
int hwloc_distances_obj_index (struct hwloc_distances_s *distances, hwloc_obj_t obj)
 
int hwloc_distances_obj_pair_values (struct hwloc_distances_s *distances, hwloc_obj_t obj1, hwloc_obj_t obj2, hwloc_uint64_t *value1to2, hwloc_uint64_t *value2to1)
 

Detailed Description

Function Documentation

- -

◆ hwloc_distances_obj_index()

+ +

◆ hwloc_distances_obj_index()

@@ -49,7 +49,7 @@ - + @@ -68,7 +68,7 @@
static int hwloc_distances_obj_index int hwloc_distances_obj_index ( struct hwloc_distances_s distances,
-inlinestatic +inline
@@ -80,8 +80,8 @@
- -

◆ hwloc_distances_obj_pair_values()

+ +

◆ hwloc_distances_obj_pair_values()

@@ -90,7 +90,7 @@ - + @@ -127,7 +127,7 @@
static int hwloc_distances_obj_pair_values int hwloc_distances_obj_pair_values ( struct hwloc_distances_s distances,
-inlinestatic +inline
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00166.php b/projects/hwloc/doc/v2.12.0/a00166.php similarity index 99% rename from projects/hwloc/doc/v2.12.0rc1/a00166.php rename to projects/hwloc/doc/v2.12.0/a00166.php index 4e2ce60b8c..c50d41c7f9 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00166.php +++ b/projects/hwloc/doc/v2.12.0/a00166.php @@ -63,7 +63,7 @@
err = hwloc_distances_add_commit(topology, handle, flags);
}
int hwloc_distances_add_commit(hwloc_topology_t topology, hwloc_distances_add_handle_t handle, unsigned long flags)
Commit a new distances structure.
-
void * hwloc_distances_add_handle_t
Handle to a new distances structure during its addition to the topology.
Definition distances.h:347
+
void * hwloc_distances_add_handle_t
Handle to a new distances structure during its addition to the topology.
Definition distances.h:354
hwloc_distances_add_handle_t hwloc_distances_add_create(hwloc_topology_t topology, const char *name, unsigned long kind, unsigned long flags)
Create a new empty distances structure.
int hwloc_distances_add_values(hwloc_topology_t topology, hwloc_distances_add_handle_t handle, unsigned nbobjs, hwloc_obj_t *objs, hwloc_uint64_t *values, unsigned long flags)
Specify the objects and values in a new empty distances structure.

If err is 0 at the end, then addition was successful.

diff --git a/projects/hwloc/doc/v2.12.0rc1/a00167.php b/projects/hwloc/doc/v2.12.0/a00167.php similarity index 89% rename from projects/hwloc/doc/v2.12.0rc1/a00167.php rename to projects/hwloc/doc/v2.12.0/a00167.php index 112bdd139f..902c08b712 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00167.php +++ b/projects/hwloc/doc/v2.12.0/a00167.php @@ -36,8 +36,8 @@   int hwloc_distances_remove_by_depth (hwloc_topology_t topology, int depth)   -static int hwloc_distances_remove_by_type (hwloc_topology_t topology, hwloc_obj_type_t type) -  +int hwloc_distances_remove_by_type (hwloc_topology_t topology, hwloc_obj_type_t type) +  int hwloc_distances_release_remove (hwloc_topology_t topology, struct hwloc_distances_s *distances)   @@ -130,8 +130,8 @@
- -

◆ hwloc_distances_remove_by_type()

+ +

◆ hwloc_distances_remove_by_type()

@@ -140,7 +140,7 @@ - + @@ -159,7 +159,7 @@
static int hwloc_distances_remove_by_type int hwloc_distances_remove_by_type ( hwloc_topology_t  topology,
-inlinestatic +inline
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00168.php b/projects/hwloc/doc/v2.12.0/a00168.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00168.php rename to projects/hwloc/doc/v2.12.0/a00168.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00169.php b/projects/hwloc/doc/v2.12.0/a00169.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00169.php rename to projects/hwloc/doc/v2.12.0/a00169.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00170.php b/projects/hwloc/doc/v2.12.0/a00170.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00170.php rename to projects/hwloc/doc/v2.12.0/a00170.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00171.php b/projects/hwloc/doc/v2.12.0/a00171.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00171.php rename to projects/hwloc/doc/v2.12.0/a00171.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00172.php b/projects/hwloc/doc/v2.12.0/a00172.php similarity index 70% rename from projects/hwloc/doc/v2.12.0rc1/a00172.php rename to projects/hwloc/doc/v2.12.0/a00172.php index 9a32661f00..d1ba71e530 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00172.php +++ b/projects/hwloc/doc/v2.12.0/a00172.php @@ -32,14 +32,14 @@ - - - - - - - - + + + + + + + +

Functions

static int hwloc_cpuset_to_linux_libnuma_ulongs (hwloc_topology_t topology, hwloc_const_cpuset_t cpuset, unsigned long *mask, unsigned long *maxnode)
 
static int hwloc_nodeset_to_linux_libnuma_ulongs (hwloc_topology_t topology, hwloc_const_nodeset_t nodeset, unsigned long *mask, unsigned long *maxnode)
 
static int hwloc_cpuset_from_linux_libnuma_ulongs (hwloc_topology_t topology, hwloc_cpuset_t cpuset, const unsigned long *mask, unsigned long maxnode)
 
static int hwloc_nodeset_from_linux_libnuma_ulongs (hwloc_topology_t topology, hwloc_nodeset_t nodeset, const unsigned long *mask, unsigned long maxnode)
 
int hwloc_cpuset_to_linux_libnuma_ulongs (hwloc_topology_t topology, hwloc_const_cpuset_t cpuset, unsigned long *mask, unsigned long *maxnode)
 
int hwloc_nodeset_to_linux_libnuma_ulongs (hwloc_topology_t topology, hwloc_const_nodeset_t nodeset, unsigned long *mask, unsigned long *maxnode)
 
int hwloc_cpuset_from_linux_libnuma_ulongs (hwloc_topology_t topology, hwloc_cpuset_t cpuset, const unsigned long *mask, unsigned long maxnode)
 
int hwloc_nodeset_from_linux_libnuma_ulongs (hwloc_topology_t topology, hwloc_nodeset_t nodeset, const unsigned long *mask, unsigned long maxnode)
 

Detailed Description

This interface helps converting between Linux libnuma unsigned long masks and hwloc cpusets and nodesets.

@@ -47,8 +47,8 @@
The behavior of libnuma is undefined if the kernel is not NUMA-aware. (when CONFIG_NUMA is not set in the kernel configuration). This helper and libnuma may thus not be strictly compatible in this case, which may be detected by checking whether numa_available() returns -1.

Function Documentation

- -

◆ hwloc_cpuset_from_linux_libnuma_ulongs()

+ +

◆ hwloc_cpuset_from_linux_libnuma_ulongs()

@@ -57,7 +57,7 @@ - + @@ -88,7 +88,7 @@
static int hwloc_cpuset_from_linux_libnuma_ulongs int hwloc_cpuset_from_linux_libnuma_ulongs ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -102,8 +102,8 @@
- -

◆ hwloc_cpuset_to_linux_libnuma_ulongs()

+ +

◆ hwloc_cpuset_to_linux_libnuma_ulongs()

@@ -112,7 +112,7 @@ - + @@ -143,7 +143,7 @@
static int hwloc_cpuset_to_linux_libnuma_ulongs int hwloc_cpuset_to_linux_libnuma_ulongs ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -155,8 +155,8 @@
- -

◆ hwloc_nodeset_from_linux_libnuma_ulongs()

+ +

◆ hwloc_nodeset_from_linux_libnuma_ulongs()

@@ -165,7 +165,7 @@ - + @@ -196,7 +196,7 @@
static int hwloc_nodeset_from_linux_libnuma_ulongs int hwloc_nodeset_from_linux_libnuma_ulongs ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -210,8 +210,8 @@
- -

◆ hwloc_nodeset_to_linux_libnuma_ulongs()

+ +

◆ hwloc_nodeset_to_linux_libnuma_ulongs()

@@ -220,7 +220,7 @@ - + @@ -251,7 +251,7 @@
static int hwloc_nodeset_to_linux_libnuma_ulongs int hwloc_nodeset_to_linux_libnuma_ulongs ( hwloc_topology_t  topology,
-inlinestatic +inline
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00173.php b/projects/hwloc/doc/v2.12.0/a00173.php similarity index 65% rename from projects/hwloc/doc/v2.12.0rc1/a00173.php rename to projects/hwloc/doc/v2.12.0/a00173.php index 71ff3c8f67..7cba6ae4cb 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00173.php +++ b/projects/hwloc/doc/v2.12.0/a00173.php @@ -32,14 +32,14 @@ - - - - - - - - + + + + + + + +

Functions

static struct bitmask * hwloc_cpuset_to_linux_libnuma_bitmask (hwloc_topology_t topology, hwloc_const_cpuset_t cpuset)
 
static struct bitmask * hwloc_nodeset_to_linux_libnuma_bitmask (hwloc_topology_t topology, hwloc_const_nodeset_t nodeset)
 
static int hwloc_cpuset_from_linux_libnuma_bitmask (hwloc_topology_t topology, hwloc_cpuset_t cpuset, const struct bitmask *bitmask)
 
static int hwloc_nodeset_from_linux_libnuma_bitmask (hwloc_topology_t topology, hwloc_nodeset_t nodeset, const struct bitmask *bitmask)
 
struct bitmask * hwloc_cpuset_to_linux_libnuma_bitmask (hwloc_topology_t topology, hwloc_const_cpuset_t cpuset)
 
struct bitmask * hwloc_nodeset_to_linux_libnuma_bitmask (hwloc_topology_t topology, hwloc_const_nodeset_t nodeset)
 
int hwloc_cpuset_from_linux_libnuma_bitmask (hwloc_topology_t topology, hwloc_cpuset_t cpuset, const struct bitmask *bitmask)
 
int hwloc_nodeset_from_linux_libnuma_bitmask (hwloc_topology_t topology, hwloc_nodeset_t nodeset, const struct bitmask *bitmask)
 

Detailed Description

This interface helps converting between Linux libnuma bitmasks and hwloc cpusets and nodesets.

@@ -47,8 +47,8 @@
The behavior of libnuma is undefined if the kernel is not NUMA-aware. (when CONFIG_NUMA is not set in the kernel configuration). This helper and libnuma may thus not be strictly compatible in this case, which may be detected by checking whether numa_available() returns -1.

Function Documentation

- -

◆ hwloc_cpuset_from_linux_libnuma_bitmask()

+ +

◆ hwloc_cpuset_from_linux_libnuma_bitmask()

@@ -57,7 +57,7 @@ - + @@ -82,7 +82,7 @@
static int hwloc_cpuset_from_linux_libnuma_bitmask int hwloc_cpuset_from_linux_libnuma_bitmask ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -95,8 +95,8 @@
- -

◆ hwloc_cpuset_to_linux_libnuma_bitmask()

+ +

◆ hwloc_cpuset_to_linux_libnuma_bitmask()

@@ -105,7 +105,7 @@ - + @@ -124,7 +124,7 @@
static struct bitmask * hwloc_cpuset_to_linux_libnuma_bitmask struct bitmask * hwloc_cpuset_to_linux_libnuma_bitmask ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -136,8 +136,8 @@
- -

◆ hwloc_nodeset_from_linux_libnuma_bitmask()

+ +

◆ hwloc_nodeset_from_linux_libnuma_bitmask()

@@ -146,7 +146,7 @@ - + @@ -171,7 +171,7 @@
static int hwloc_nodeset_from_linux_libnuma_bitmask int hwloc_nodeset_from_linux_libnuma_bitmask ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -184,8 +184,8 @@
- -

◆ hwloc_nodeset_to_linux_libnuma_bitmask()

+ +

◆ hwloc_nodeset_to_linux_libnuma_bitmask()

@@ -194,7 +194,7 @@ - + @@ -213,7 +213,7 @@
static struct bitmask * hwloc_nodeset_to_linux_libnuma_bitmask struct bitmask * hwloc_nodeset_to_linux_libnuma_bitmask ( hwloc_topology_t  topology,
-inlinestatic +inline
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00174.php b/projects/hwloc/doc/v2.12.0/a00174.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00174.php rename to projects/hwloc/doc/v2.12.0/a00174.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00175.php b/projects/hwloc/doc/v2.12.0/a00175.php similarity index 72% rename from projects/hwloc/doc/v2.12.0rc1/a00175.php rename to projects/hwloc/doc/v2.12.0/a00175.php index 041db370b8..d85e65d56a 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00175.php +++ b/projects/hwloc/doc/v2.12.0/a00175.php @@ -32,17 +32,17 @@ - - - - + + + +

Functions

static int hwloc_cpuset_to_glibc_sched_affinity (hwloc_topology_t topology, hwloc_const_cpuset_t hwlocset, cpu_set_t *schedset, size_t schedsetsize)
 
static int hwloc_cpuset_from_glibc_sched_affinity (hwloc_topology_t topology, hwloc_cpuset_t hwlocset, const cpu_set_t *schedset, size_t schedsetsize)
 
int hwloc_cpuset_to_glibc_sched_affinity (hwloc_topology_t topology, hwloc_const_cpuset_t hwlocset, cpu_set_t *schedset, size_t schedsetsize)
 
int hwloc_cpuset_from_glibc_sched_affinity (hwloc_topology_t topology, hwloc_cpuset_t hwlocset, const cpu_set_t *schedset, size_t schedsetsize)
 

Detailed Description

This interface offers ways to convert between hwloc cpusets and glibc cpusets such as those manipulated by sched_getaffinity() or pthread_attr_setaffinity_np().

Note
Topology topology must match the current machine.

Function Documentation

- -

◆ hwloc_cpuset_from_glibc_sched_affinity()

+ +

◆ hwloc_cpuset_from_glibc_sched_affinity()

@@ -51,7 +51,7 @@ - + @@ -82,7 +82,7 @@
static int hwloc_cpuset_from_glibc_sched_affinity int hwloc_cpuset_from_glibc_sched_affinity ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -96,8 +96,8 @@
- -

◆ hwloc_cpuset_to_glibc_sched_affinity()

+ +

◆ hwloc_cpuset_to_glibc_sched_affinity()

@@ -106,7 +106,7 @@ - + @@ -137,7 +137,7 @@
static int hwloc_cpuset_to_glibc_sched_affinity int hwloc_cpuset_to_glibc_sched_affinity ( hwloc_topology_t  topology,
-inlinestatic +inline
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00176.php b/projects/hwloc/doc/v2.12.0/a00176.php similarity index 68% rename from projects/hwloc/doc/v2.12.0rc1/a00176.php rename to projects/hwloc/doc/v2.12.0/a00176.php index 1ab550e43c..6985de3119 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00176.php +++ b/projects/hwloc/doc/v2.12.0/a00176.php @@ -32,21 +32,21 @@ - - - - - - - - + + + + + + + +

Functions

static int hwloc_opencl_get_device_pci_busid (cl_device_id device, unsigned *domain, unsigned *bus, unsigned *dev, unsigned *func)
 
static int hwloc_opencl_get_device_cpuset (hwloc_topology_t topology, cl_device_id device, hwloc_cpuset_t set)
 
static hwloc_obj_t hwloc_opencl_get_device_osdev_by_index (hwloc_topology_t topology, unsigned platform_index, unsigned device_index)
 
static hwloc_obj_t hwloc_opencl_get_device_osdev (hwloc_topology_t topology, cl_device_id device)
 
int hwloc_opencl_get_device_pci_busid (cl_device_id device, unsigned *domain, unsigned *bus, unsigned *dev, unsigned *func)
 
int hwloc_opencl_get_device_cpuset (hwloc_topology_t topology, cl_device_id device, hwloc_cpuset_t set)
 
hwloc_obj_t hwloc_opencl_get_device_osdev_by_index (hwloc_topology_t topology, unsigned platform_index, unsigned device_index)
 
hwloc_obj_t hwloc_opencl_get_device_osdev (hwloc_topology_t topology, cl_device_id device)
 

Detailed Description

This interface offers ways to retrieve topology information about OpenCL devices.

Only AMD and NVIDIA OpenCL implementations currently offer useful locality information about their devices.

Function Documentation

- -

◆ hwloc_opencl_get_device_cpuset()

+ +

◆ hwloc_opencl_get_device_cpuset()

@@ -55,7 +55,7 @@ - + @@ -80,7 +80,7 @@
static int hwloc_opencl_get_device_cpuset int hwloc_opencl_get_device_cpuset ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -88,7 +88,7 @@

Get the CPU set of processors that are physically close to OpenCL device device.

Store in set the CPU-set describing the locality of the OpenCL device device.

Topology topology and device device must match the local machine. I/O devices detection and the OpenCL component are not needed in the topology.

-

The function only returns the locality of the device. If more information about the device is needed, OS objects should be used instead, see hwloc_opencl_get_device_osdev() and hwloc_opencl_get_device_osdev_by_index().

+

The function only returns the locality of the device. If more information about the device is needed, OS objects should be used instead, see hwloc_opencl_get_device_osdev() and hwloc_opencl_get_device_osdev_by_index().

This function is currently only implemented in a meaningful way for Linux with the AMD or NVIDIA OpenCL implementation; other systems will simply get a full cpuset.

Returns
0 on success.
@@ -96,8 +96,8 @@
- -

◆ hwloc_opencl_get_device_osdev()

+ +

◆ hwloc_opencl_get_device_osdev()

@@ -106,7 +106,7 @@ - + @@ -125,7 +125,7 @@
static hwloc_obj_t hwloc_opencl_get_device_osdev hwloc_obj_t hwloc_opencl_get_device_osdev ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -134,16 +134,16 @@
Returns
The hwloc OS device object corresponding to the given OpenCL device device.
NULL if none could be found, for instance if required OpenCL attributes are not available.
-

This function currently only works on AMD and NVIDIA OpenCL devices that support relevant OpenCL extensions. hwloc_opencl_get_device_osdev_by_index() should be preferred whenever possible, i.e. when platform and device index are known.

-

Topology topology and device device must match the local machine. I/O devices detection and the OpenCL component must be enabled in the topology. If not, the locality of the object may still be found using hwloc_opencl_get_device_cpuset().

+

This function currently only works on AMD and NVIDIA OpenCL devices that support relevant OpenCL extensions. hwloc_opencl_get_device_osdev_by_index() should be preferred whenever possible, i.e. when platform and device index are known.

+

Topology topology and device device must match the local machine. I/O devices detection and the OpenCL component must be enabled in the topology. If not, the locality of the object may still be found using hwloc_opencl_get_device_cpuset().

Note
This function cannot work if PCI devices are filtered out.
The corresponding hwloc PCI device may be found by looking at the result parent pointer (unless PCI devices are filtered out).
- -

◆ hwloc_opencl_get_device_osdev_by_index()

+ +

◆ hwloc_opencl_get_device_osdev_by_index()

@@ -152,7 +152,7 @@ - + @@ -177,7 +177,7 @@
static hwloc_obj_t hwloc_opencl_get_device_osdev_by_index hwloc_obj_t hwloc_opencl_get_device_osdev_by_index ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -191,8 +191,8 @@
- -

◆ hwloc_opencl_get_device_pci_busid()

+ +

◆ hwloc_opencl_get_device_pci_busid()

@@ -201,7 +201,7 @@ - + @@ -238,7 +238,7 @@
static int hwloc_opencl_get_device_pci_busid int hwloc_opencl_get_device_pci_busid ( cl_device_id  device,
-inlinestatic +inline
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00177.php b/projects/hwloc/doc/v2.12.0/a00177.php similarity index 65% rename from projects/hwloc/doc/v2.12.0rc1/a00177.php rename to projects/hwloc/doc/v2.12.0/a00177.php index 8a703341dd..92932ea461 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00177.php +++ b/projects/hwloc/doc/v2.12.0/a00177.php @@ -32,22 +32,22 @@ - - - - - - - - - - + + + + + + + + + +

Functions

static int hwloc_cuda_get_device_pci_ids (hwloc_topology_t topology, CUdevice cudevice, int *domain, int *bus, int *dev)
 
static int hwloc_cuda_get_device_cpuset (hwloc_topology_t topology, CUdevice cudevice, hwloc_cpuset_t set)
 
static hwloc_obj_t hwloc_cuda_get_device_pcidev (hwloc_topology_t topology, CUdevice cudevice)
 
static hwloc_obj_t hwloc_cuda_get_device_osdev (hwloc_topology_t topology, CUdevice cudevice)
 
static hwloc_obj_t hwloc_cuda_get_device_osdev_by_index (hwloc_topology_t topology, unsigned idx)
 
int hwloc_cuda_get_device_pci_ids (hwloc_topology_t topology, CUdevice cudevice, int *domain, int *bus, int *dev)
 
int hwloc_cuda_get_device_cpuset (hwloc_topology_t topology, CUdevice cudevice, hwloc_cpuset_t set)
 
hwloc_obj_t hwloc_cuda_get_device_pcidev (hwloc_topology_t topology, CUdevice cudevice)
 
hwloc_obj_t hwloc_cuda_get_device_osdev (hwloc_topology_t topology, CUdevice cudevice)
 
hwloc_obj_t hwloc_cuda_get_device_osdev_by_index (hwloc_topology_t topology, unsigned idx)
 

Detailed Description

This interface offers ways to retrieve topology information about CUDA devices when using the CUDA Driver API.

Function Documentation

- -

◆ hwloc_cuda_get_device_cpuset()

+ +

◆ hwloc_cuda_get_device_cpuset()

@@ -56,7 +56,7 @@ - + @@ -81,7 +81,7 @@
static int hwloc_cuda_get_device_cpuset int hwloc_cuda_get_device_cpuset ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -89,7 +89,7 @@

Get the CPU set of processors that are physically close to device cudevice.

Store in set the CPU-set describing the locality of the CUDA device cudevice.

Topology topology and device cudevice must match the local machine. I/O devices detection and the CUDA component are not needed in the topology.

-

The function only returns the locality of the device. If more information about the device is needed, OS objects should be used instead, see hwloc_cuda_get_device_osdev() and hwloc_cuda_get_device_osdev_by_index().

+

The function only returns the locality of the device. If more information about the device is needed, OS objects should be used instead, see hwloc_cuda_get_device_osdev() and hwloc_cuda_get_device_osdev_by_index().

This function is currently only implemented in a meaningful way for Linux; other systems will simply get a full cpuset.

Returns
0 on success.
@@ -97,8 +97,8 @@
- -

◆ hwloc_cuda_get_device_osdev()

+ +

◆ hwloc_cuda_get_device_osdev()

@@ -107,7 +107,7 @@ - + @@ -126,7 +126,7 @@
static hwloc_obj_t hwloc_cuda_get_device_osdev hwloc_obj_t hwloc_cuda_get_device_osdev ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -135,15 +135,15 @@
Returns
The hwloc OS device object that describes the given CUDA device cudevice.
NULL if none could be found.
-

Topology topology and device cudevice must match the local machine. I/O devices detection and the CUDA component must be enabled in the topology. If not, the locality of the object may still be found using hwloc_cuda_get_device_cpuset().

+

Topology topology and device cudevice must match the local machine. I/O devices detection and the CUDA component must be enabled in the topology. If not, the locality of the object may still be found using hwloc_cuda_get_device_cpuset().

Note
This function cannot work if PCI devices are filtered out.
The corresponding hwloc PCI device may be found by looking at the result parent pointer (unless PCI devices are filtered out).
- -

◆ hwloc_cuda_get_device_osdev_by_index()

+ +

◆ hwloc_cuda_get_device_osdev_by_index()

@@ -152,7 +152,7 @@ - + @@ -171,7 +171,7 @@
static hwloc_obj_t hwloc_cuda_get_device_osdev_by_index hwloc_obj_t hwloc_cuda_get_device_osdev_by_index ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -183,12 +183,12 @@

The topology topology does not necessarily have to match the current machine. For instance the topology may be an XML import of a remote host. I/O devices detection and the CUDA component must be enabled in the topology.

Note
The corresponding PCI device object can be obtained by looking at the OS device parent object (unless PCI devices are filtered out).
-This function is identical to hwloc_cudart_get_device_osdev_by_index().
+This function is identical to hwloc_cudart_get_device_osdev_by_index().
- -

◆ hwloc_cuda_get_device_pci_ids()

+ +

◆ hwloc_cuda_get_device_pci_ids()

@@ -197,7 +197,7 @@ - + @@ -234,7 +234,7 @@
static int hwloc_cuda_get_device_pci_ids int hwloc_cuda_get_device_pci_ids ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -247,8 +247,8 @@
- -

◆ hwloc_cuda_get_device_pcidev()

+ +

◆ hwloc_cuda_get_device_pcidev()

@@ -257,7 +257,7 @@ - + @@ -276,7 +276,7 @@
static hwloc_obj_t hwloc_cuda_get_device_pcidev hwloc_obj_t hwloc_cuda_get_device_pcidev ( hwloc_topology_t  topology,
-inlinestatic +inline
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00178.php b/projects/hwloc/doc/v2.12.0/a00178.php similarity index 66% rename from projects/hwloc/doc/v2.12.0rc1/a00178.php rename to projects/hwloc/doc/v2.12.0/a00178.php index 43c222bd48..a1cab7983d 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00178.php +++ b/projects/hwloc/doc/v2.12.0/a00178.php @@ -32,20 +32,20 @@ - - - - - - - - + + + + + + + +

Functions

static int hwloc_cudart_get_device_pci_ids (hwloc_topology_t topology, int idx, int *domain, int *bus, int *dev)
 
static int hwloc_cudart_get_device_cpuset (hwloc_topology_t topology, int idx, hwloc_cpuset_t set)
 
static hwloc_obj_t hwloc_cudart_get_device_pcidev (hwloc_topology_t topology, int idx)
 
static hwloc_obj_t hwloc_cudart_get_device_osdev_by_index (hwloc_topology_t topology, unsigned idx)
 
int hwloc_cudart_get_device_pci_ids (hwloc_topology_t topology, int idx, int *domain, int *bus, int *dev)
 
int hwloc_cudart_get_device_cpuset (hwloc_topology_t topology, int idx, hwloc_cpuset_t set)
 
hwloc_obj_t hwloc_cudart_get_device_pcidev (hwloc_topology_t topology, int idx)
 
hwloc_obj_t hwloc_cudart_get_device_osdev_by_index (hwloc_topology_t topology, unsigned idx)
 

Detailed Description

This interface offers ways to retrieve topology information about CUDA devices when using the CUDA Runtime API.

Function Documentation

- -

◆ hwloc_cudart_get_device_cpuset()

+ +

◆ hwloc_cudart_get_device_cpuset()

@@ -54,7 +54,7 @@ - + @@ -79,7 +79,7 @@
static int hwloc_cudart_get_device_cpuset int hwloc_cudart_get_device_cpuset ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -87,7 +87,7 @@

Get the CPU set of processors that are physically close to device idx.

Store in set the CPU-set describing the locality of the CUDA device whose index is idx.

Topology topology and device idx must match the local machine. I/O devices detection and the CUDA component are not needed in the topology.

-

The function only returns the locality of the device. If more information about the device is needed, OS objects should be used instead, see hwloc_cudart_get_device_osdev_by_index().

+

The function only returns the locality of the device. If more information about the device is needed, OS objects should be used instead, see hwloc_cudart_get_device_osdev_by_index().

This function is currently only implemented in a meaningful way for Linux; other systems will simply get a full cpuset.

Returns
0 on success.
@@ -95,8 +95,8 @@
- -

◆ hwloc_cudart_get_device_osdev_by_index()

+ +

◆ hwloc_cudart_get_device_osdev_by_index()

@@ -105,7 +105,7 @@ - + @@ -124,7 +124,7 @@
static hwloc_obj_t hwloc_cudart_get_device_osdev_by_index hwloc_obj_t hwloc_cudart_get_device_osdev_by_index ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -133,15 +133,15 @@
Returns
The hwloc OS device object describing the CUDA device whose index is idx.
NULL if none could be found.
-

The topology topology does not necessarily have to match the current machine. For instance the topology may be an XML import of a remote host. I/O devices detection and the CUDA component must be enabled in the topology. If not, the locality of the object may still be found using hwloc_cudart_get_device_cpuset().

+

The topology topology does not necessarily have to match the current machine. For instance the topology may be an XML import of a remote host. I/O devices detection and the CUDA component must be enabled in the topology. If not, the locality of the object may still be found using hwloc_cudart_get_device_cpuset().

Note
The corresponding PCI device object can be obtained by looking at the OS device parent object (unless PCI devices are filtered out).
-This function is identical to hwloc_cuda_get_device_osdev_by_index().
+This function is identical to hwloc_cuda_get_device_osdev_by_index().
- -

◆ hwloc_cudart_get_device_pci_ids()

+ +

◆ hwloc_cudart_get_device_pci_ids()

@@ -150,7 +150,7 @@ - + @@ -187,7 +187,7 @@
static int hwloc_cudart_get_device_pci_ids int hwloc_cudart_get_device_pci_ids ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -200,8 +200,8 @@
- -

◆ hwloc_cudart_get_device_pcidev()

+ +

◆ hwloc_cudart_get_device_pcidev()

@@ -210,7 +210,7 @@ - + @@ -229,7 +229,7 @@
static hwloc_obj_t hwloc_cudart_get_device_pcidev hwloc_obj_t hwloc_cudart_get_device_pcidev ( hwloc_topology_t  topology,
-inlinestatic +inline
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00179.php b/projects/hwloc/doc/v2.12.0/a00179.php similarity index 67% rename from projects/hwloc/doc/v2.12.0rc1/a00179.php rename to projects/hwloc/doc/v2.12.0/a00179.php index aa35e2678f..daa9df98af 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00179.php +++ b/projects/hwloc/doc/v2.12.0/a00179.php @@ -32,18 +32,18 @@ - - - - - - + + + + + +

Functions

static int hwloc_nvml_get_device_cpuset (hwloc_topology_t topology, nvmlDevice_t device, hwloc_cpuset_t set)
 
static hwloc_obj_t hwloc_nvml_get_device_osdev_by_index (hwloc_topology_t topology, unsigned idx)
 
static hwloc_obj_t hwloc_nvml_get_device_osdev (hwloc_topology_t topology, nvmlDevice_t device)
 
int hwloc_nvml_get_device_cpuset (hwloc_topology_t topology, nvmlDevice_t device, hwloc_cpuset_t set)
 
hwloc_obj_t hwloc_nvml_get_device_osdev_by_index (hwloc_topology_t topology, unsigned idx)
 
hwloc_obj_t hwloc_nvml_get_device_osdev (hwloc_topology_t topology, nvmlDevice_t device)
 

Detailed Description

This interface offers ways to retrieve topology information about devices managed by the NVIDIA Management Library (NVML).

Function Documentation

- -

◆ hwloc_nvml_get_device_cpuset()

+ +

◆ hwloc_nvml_get_device_cpuset()

@@ -52,7 +52,7 @@ - + @@ -77,7 +77,7 @@
static int hwloc_nvml_get_device_cpuset int hwloc_nvml_get_device_cpuset ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -85,7 +85,7 @@

Get the CPU set of processors that are physically close to NVML device device.

Store in set the CPU-set describing the locality of the NVML device device.

Topology topology and device device must match the local machine. I/O devices detection and the NVML component are not needed in the topology.

-

The function only returns the locality of the device. If more information about the device is needed, OS objects should be used instead, see hwloc_nvml_get_device_osdev() and hwloc_nvml_get_device_osdev_by_index().

+

The function only returns the locality of the device. If more information about the device is needed, OS objects should be used instead, see hwloc_nvml_get_device_osdev() and hwloc_nvml_get_device_osdev_by_index().

This function is currently only implemented in a meaningful way for Linux; other systems will simply get a full cpuset.

Returns
0 on success.
@@ -93,8 +93,8 @@
- -

◆ hwloc_nvml_get_device_osdev()

+ +

◆ hwloc_nvml_get_device_osdev()

@@ -103,7 +103,7 @@ - + @@ -122,7 +122,7 @@
static hwloc_obj_t hwloc_nvml_get_device_osdev hwloc_obj_t hwloc_nvml_get_device_osdev ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -131,13 +131,13 @@
Returns
The hwloc OS device object that describes the given NVML device device.
NULL if none could be found.
-

Topology topology and device device must match the local machine. I/O devices detection and the NVML component must be enabled in the topology. If not, the locality of the object may still be found using hwloc_nvml_get_device_cpuset().

+

Topology topology and device device must match the local machine. I/O devices detection and the NVML component must be enabled in the topology. If not, the locality of the object may still be found using hwloc_nvml_get_device_cpuset().

Note
The corresponding hwloc PCI device may be found by looking at the result parent pointer (unless PCI devices are filtered out).
- -

◆ hwloc_nvml_get_device_osdev_by_index()

+ +

◆ hwloc_nvml_get_device_osdev_by_index()

@@ -146,7 +146,7 @@ - + @@ -165,7 +165,7 @@
static hwloc_obj_t hwloc_nvml_get_device_osdev_by_index hwloc_obj_t hwloc_nvml_get_device_osdev_by_index ( hwloc_topology_t  topology,
-inlinestatic +inline
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00180.php b/projects/hwloc/doc/v2.12.0/a00180.php similarity index 67% rename from projects/hwloc/doc/v2.12.0rc1/a00180.php rename to projects/hwloc/doc/v2.12.0/a00180.php index 926996ffce..b35f959d7b 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00180.php +++ b/projects/hwloc/doc/v2.12.0/a00180.php @@ -32,18 +32,18 @@ - - - - - - + + + + + +

Functions

static int hwloc_rsmi_get_device_cpuset (hwloc_topology_t topology, uint32_t dv_ind, hwloc_cpuset_t set)
 
static hwloc_obj_t hwloc_rsmi_get_device_osdev_by_index (hwloc_topology_t topology, uint32_t dv_ind)
 
static hwloc_obj_t hwloc_rsmi_get_device_osdev (hwloc_topology_t topology, uint32_t dv_ind)
 
int hwloc_rsmi_get_device_cpuset (hwloc_topology_t topology, uint32_t dv_ind, hwloc_cpuset_t set)
 
hwloc_obj_t hwloc_rsmi_get_device_osdev_by_index (hwloc_topology_t topology, uint32_t dv_ind)
 
hwloc_obj_t hwloc_rsmi_get_device_osdev (hwloc_topology_t topology, uint32_t dv_ind)
 

Detailed Description

This interface offers ways to retrieve topology information about devices managed by the ROCm SMI Management Library.

Function Documentation

- -

◆ hwloc_rsmi_get_device_cpuset()

+ +

◆ hwloc_rsmi_get_device_cpuset()

@@ -52,7 +52,7 @@ - + @@ -77,7 +77,7 @@
static int hwloc_rsmi_get_device_cpuset int hwloc_rsmi_get_device_cpuset ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -85,7 +85,7 @@

Get the CPU set of logical processors that are physically close to AMD GPU device whose index is dv_ind.

Store in set the CPU-set describing the locality of the AMD GPU device whose index is dv_ind.

Topology topology and device dv_ind must match the local machine. I/O devices detection and the ROCm SMI component are not needed in the topology.

-

The function only returns the locality of the device. If more information about the device is needed, OS objects should be used instead, see hwloc_rsmi_get_device_osdev() and hwloc_rsmi_get_device_osdev_by_index().

+

The function only returns the locality of the device. If more information about the device is needed, OS objects should be used instead, see hwloc_rsmi_get_device_osdev() and hwloc_rsmi_get_device_osdev_by_index().

This function is currently only implemented in a meaningful way for Linux; other systems will simply get a full cpuset.

Returns
0 on success.
@@ -93,8 +93,8 @@
- -

◆ hwloc_rsmi_get_device_osdev()

+ +

◆ hwloc_rsmi_get_device_osdev()

@@ -103,7 +103,7 @@ - + @@ -122,7 +122,7 @@
static hwloc_obj_t hwloc_rsmi_get_device_osdev hwloc_obj_t hwloc_rsmi_get_device_osdev ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -131,13 +131,13 @@
Returns
The hwloc OS device object that describes the given AMD GPU, whose index is dv_ind.
NULL if none could be found.
-

Topology topology and device dv_ind must match the local machine. I/O devices detection and the ROCm SMI component must be enabled in the topology. If not, the locality of the object may still be found using hwloc_rsmi_get_device_cpuset().

+

Topology topology and device dv_ind must match the local machine. I/O devices detection and the ROCm SMI component must be enabled in the topology. If not, the locality of the object may still be found using hwloc_rsmi_get_device_cpuset().

Note
The corresponding hwloc PCI device may be found by looking at the result parent pointer (unless PCI devices are filtered out).
- -

◆ hwloc_rsmi_get_device_osdev_by_index()

+ +

◆ hwloc_rsmi_get_device_osdev_by_index()

@@ -146,7 +146,7 @@ - + @@ -165,7 +165,7 @@
static hwloc_obj_t hwloc_rsmi_get_device_osdev_by_index hwloc_obj_t hwloc_rsmi_get_device_osdev_by_index ( hwloc_topology_t  topology,
-inlinestatic +inline
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00181.php b/projects/hwloc/doc/v2.12.0/a00181.php similarity index 70% rename from projects/hwloc/doc/v2.12.0rc1/a00181.php rename to projects/hwloc/doc/v2.12.0/a00181.php index 290b25fb05..8556f239da 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00181.php +++ b/projects/hwloc/doc/v2.12.0/a00181.php @@ -32,20 +32,20 @@ - - - - - - - - + + + + + + + +

Functions

static int hwloc_levelzero_get_device_cpuset (hwloc_topology_t topology, ze_device_handle_t device, hwloc_cpuset_t set)
 
static int hwloc_levelzero_get_sysman_device_cpuset (hwloc_topology_t topology, zes_device_handle_t device, hwloc_cpuset_t set)
 
static hwloc_obj_t hwloc_levelzero_get_device_osdev (hwloc_topology_t topology, ze_device_handle_t device)
 
static hwloc_obj_t hwloc_levelzero_get_sysman_device_osdev (hwloc_topology_t topology, zes_device_handle_t device)
 
int hwloc_levelzero_get_device_cpuset (hwloc_topology_t topology, ze_device_handle_t device, hwloc_cpuset_t set)
 
int hwloc_levelzero_get_sysman_device_cpuset (hwloc_topology_t topology, zes_device_handle_t device, hwloc_cpuset_t set)
 
hwloc_obj_t hwloc_levelzero_get_device_osdev (hwloc_topology_t topology, ze_device_handle_t device)
 
hwloc_obj_t hwloc_levelzero_get_sysman_device_osdev (hwloc_topology_t topology, zes_device_handle_t device)
 

Detailed Description

This interface offers ways to retrieve topology information about devices managed by the Level Zero API, both for main Core devices (ZE API) and the Sysman devices (ZES API).

Function Documentation

- -

◆ hwloc_levelzero_get_device_cpuset()

+ +

◆ hwloc_levelzero_get_device_cpuset()

@@ -54,7 +54,7 @@ - + @@ -79,7 +79,7 @@
static int hwloc_levelzero_get_device_cpuset int hwloc_levelzero_get_device_cpuset ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -87,7 +87,7 @@

Get the CPU set of logical processors that are physically close to the Level Zero device device.

Store in set the CPU-set describing the locality of the Level Zero device device.

Topology topology and device device must match the local machine. The Level Zero library must have been initialized with zeInit(). I/O devices detection and the Level Zero component are not needed in the topology.

-

The function only returns the locality of the device. If more information about the device is needed, OS objects should be used instead, see hwloc_levelzero_get_device_osdev().

+

The function only returns the locality of the device. If more information about the device is needed, OS objects should be used instead, see hwloc_levelzero_get_device_osdev().

This function is currently only implemented in a meaningful way for Linux; other systems will simply get a full cpuset.

Returns
0 on success.
@@ -96,8 +96,8 @@
- -

◆ hwloc_levelzero_get_device_osdev()

+ +

◆ hwloc_levelzero_get_device_osdev()

@@ -106,7 +106,7 @@ - + @@ -125,7 +125,7 @@
static hwloc_obj_t hwloc_levelzero_get_device_osdev hwloc_obj_t hwloc_levelzero_get_device_osdev ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -134,7 +134,7 @@
Returns
The hwloc OS device object that describes the given Level Zero device device.
NULL if none could be found.
-

Topology topology and device dv_ind must match the local machine. The Level Zero library must have been initialized with zeInit(). I/O devices detection and the Level Zero component must be enabled in the topology. If not, the locality of the object may still be found using hwloc_levelzero_get_device_cpuset().

+

Topology topology and device dv_ind must match the local machine. The Level Zero library must have been initialized with zeInit(). I/O devices detection and the Level Zero component must be enabled in the topology. If not, the locality of the object may still be found using hwloc_levelzero_get_device_cpuset().

Note
If the input ZE device is actually a subdevice, then its parent (root device) is actually translated, i.e. the main hwloc OS device is returned instead of one of its children.
The corresponding hwloc PCI device may be found by looking at the result parent pointer (unless PCI devices are filtered out).
@@ -143,8 +143,8 @@
- -

◆ hwloc_levelzero_get_sysman_device_cpuset()

+ +

◆ hwloc_levelzero_get_sysman_device_cpuset()

@@ -153,7 +153,7 @@ - + @@ -178,7 +178,7 @@
static int hwloc_levelzero_get_sysman_device_cpuset int hwloc_levelzero_get_sysman_device_cpuset ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -186,7 +186,7 @@

Get the CPU set of logical processors that are physically close to the Level Zero Sysman device device.

Store in set the CPU-set describing the locality of the Level Zero device device.

Topology topology and device device must match the local machine. The Level Zero library must have been initialized with Sysman enabled with zesInit(). I/O devices detection and the Level Zero component are not needed in the topology.

-

The function only returns the locality of the device. If more information about the device is needed, OS objects should be used instead, see hwloc_levelzero_get_device_osdev().

+

The function only returns the locality of the device. If more information about the device is needed, OS objects should be used instead, see hwloc_levelzero_get_device_osdev().

This function is currently only implemented in a meaningful way for Linux; other systems will simply get a full cpuset.

Returns
0 on success.
@@ -194,8 +194,8 @@
- -

◆ hwloc_levelzero_get_sysman_device_osdev()

+ +

◆ hwloc_levelzero_get_sysman_device_osdev()

@@ -204,7 +204,7 @@ - + @@ -223,7 +223,7 @@
static hwloc_obj_t hwloc_levelzero_get_sysman_device_osdev hwloc_obj_t hwloc_levelzero_get_sysman_device_osdev ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -232,7 +232,7 @@
Returns
The hwloc OS device object that describes the given Level Zero device device.
NULL if none could be found.
-

Topology topology and device dv_ind must match the local machine. The Level Zero library must have been initialized with Sysman enabled with zesInit(). I/O devices detection and the Level Zero component must be enabled in the topology. If not, the locality of the object may still be found using hwloc_levelzero_get_device_cpuset().

+

Topology topology and device dv_ind must match the local machine. The Level Zero library must have been initialized with Sysman enabled with zesInit(). I/O devices detection and the Level Zero component must be enabled in the topology. If not, the locality of the object may still be found using hwloc_levelzero_get_device_cpuset().

Note
If the input ZES device is actually a subdevice, then its parent (root device) is actually translated, i.e. the main hwloc OS device is returned instead of one of its children.
The corresponding hwloc PCI device may be found by looking at the result parent pointer (unless PCI devices are filtered out).
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00182.php b/projects/hwloc/doc/v2.12.0/a00182.php similarity index 69% rename from projects/hwloc/doc/v2.12.0rc1/a00182.php rename to projects/hwloc/doc/v2.12.0/a00182.php index 95051f3f99..f676f95339 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00182.php +++ b/projects/hwloc/doc/v2.12.0/a00182.php @@ -32,19 +32,19 @@ - - - - - - + + + + + +

Functions

static hwloc_obj_t hwloc_gl_get_display_osdev_by_port_device (hwloc_topology_t topology, unsigned port, unsigned device)
 
static hwloc_obj_t hwloc_gl_get_display_osdev_by_name (hwloc_topology_t topology, const char *name)
 
static int hwloc_gl_get_display_by_osdev (hwloc_topology_t topology, hwloc_obj_t osdev, unsigned *port, unsigned *device)
 
hwloc_obj_t hwloc_gl_get_display_osdev_by_port_device (hwloc_topology_t topology, unsigned port, unsigned device)
 
hwloc_obj_t hwloc_gl_get_display_osdev_by_name (hwloc_topology_t topology, const char *name)
 
int hwloc_gl_get_display_by_osdev (hwloc_topology_t topology, hwloc_obj_t osdev, unsigned *port, unsigned *device)
 

Detailed Description

This interface offers ways to retrieve topology information about OpenGL displays.

Only the NVIDIA display locality information is currently available, using the NV-CONTROL X11 extension and the NVCtrl library.

Function Documentation

- -

◆ hwloc_gl_get_display_by_osdev()

+ +

◆ hwloc_gl_get_display_by_osdev()

@@ -53,7 +53,7 @@ - + @@ -84,7 +84,7 @@
static int hwloc_gl_get_display_by_osdev int hwloc_gl_get_display_by_osdev ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -98,8 +98,8 @@
- -

◆ hwloc_gl_get_display_osdev_by_name()

+ +

◆ hwloc_gl_get_display_osdev_by_name()

@@ -108,7 +108,7 @@ - + @@ -127,7 +127,7 @@
static hwloc_obj_t hwloc_gl_get_display_osdev_by_name hwloc_obj_t hwloc_gl_get_display_osdev_by_name ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -141,8 +141,8 @@
- -

◆ hwloc_gl_get_display_osdev_by_port_device()

+ +

◆ hwloc_gl_get_display_osdev_by_port_device()

@@ -151,7 +151,7 @@ - + @@ -176,7 +176,7 @@
static hwloc_obj_t hwloc_gl_get_display_osdev_by_port_device hwloc_obj_t hwloc_gl_get_display_osdev_by_port_device ( hwloc_topology_t  topology,
-inlinestatic +inline
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00183.php b/projects/hwloc/doc/v2.12.0/a00183.php similarity index 66% rename from projects/hwloc/doc/v2.12.0rc1/a00183.php rename to projects/hwloc/doc/v2.12.0/a00183.php index c4ed1a800a..18fdb90ac3 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00183.php +++ b/projects/hwloc/doc/v2.12.0/a00183.php @@ -32,18 +32,18 @@ - - - - - - + + + + + +

Functions

static int hwloc_ibv_get_device_cpuset (hwloc_topology_t topology, struct ibv_device *ibdev, hwloc_cpuset_t set)
 
static hwloc_obj_t hwloc_ibv_get_device_osdev_by_name (hwloc_topology_t topology, const char *ibname)
 
static hwloc_obj_t hwloc_ibv_get_device_osdev (hwloc_topology_t topology, struct ibv_device *ibdev)
 
int hwloc_ibv_get_device_cpuset (hwloc_topology_t topology, struct ibv_device *ibdev, hwloc_cpuset_t set)
 
hwloc_obj_t hwloc_ibv_get_device_osdev_by_name (hwloc_topology_t topology, const char *ibname)
 
hwloc_obj_t hwloc_ibv_get_device_osdev (hwloc_topology_t topology, struct ibv_device *ibdev)
 

Detailed Description

This interface offers ways to retrieve topology information about OpenFabrics devices (InfiniBand, Omni-Path, usNIC, etc).

Function Documentation

- -

◆ hwloc_ibv_get_device_cpuset()

+ +

◆ hwloc_ibv_get_device_cpuset()

@@ -52,7 +52,7 @@ - + @@ -77,7 +77,7 @@
static int hwloc_ibv_get_device_cpuset int hwloc_ibv_get_device_cpuset ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -85,7 +85,7 @@

Get the CPU set of processors that are physically close to device ibdev.

Store in set the CPU-set describing the locality of the OpenFabrics device ibdev (InfiniBand, etc).

Topology topology and device ibdev must match the local machine. I/O devices detection is not needed in the topology.

-

The function only returns the locality of the device. If more information about the device is needed, OS objects should be used instead, see hwloc_ibv_get_device_osdev() and hwloc_ibv_get_device_osdev_by_name().

+

The function only returns the locality of the device. If more information about the device is needed, OS objects should be used instead, see hwloc_ibv_get_device_osdev() and hwloc_ibv_get_device_osdev_by_name().

This function is currently only implemented in a meaningful way for Linux; other systems will simply get a full cpuset.

Returns
0 on success.
@@ -93,8 +93,8 @@
- -

◆ hwloc_ibv_get_device_osdev()

+ +

◆ hwloc_ibv_get_device_osdev()

@@ -103,7 +103,7 @@ - + @@ -122,7 +122,7 @@
static hwloc_obj_t hwloc_ibv_get_device_osdev hwloc_obj_t hwloc_ibv_get_device_osdev ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -131,13 +131,13 @@
Returns
The hwloc OS device object describing the OpenFabrics device ibdev (InfiniBand, etc).
NULL if none could be found.
-

Topology topology and device ibdev must match the local machine. I/O devices detection must be enabled in the topology. If not, the locality of the object may still be found using hwloc_ibv_get_device_cpuset().

+

Topology topology and device ibdev must match the local machine. I/O devices detection must be enabled in the topology. If not, the locality of the object may still be found using hwloc_ibv_get_device_cpuset().

Note
The corresponding PCI device object can be obtained by looking at the OS device parent object.
- -

◆ hwloc_ibv_get_device_osdev_by_name()

+ +

◆ hwloc_ibv_get_device_osdev_by_name()

@@ -146,7 +146,7 @@ - + @@ -165,7 +165,7 @@
static hwloc_obj_t hwloc_ibv_get_device_osdev_by_name hwloc_obj_t hwloc_ibv_get_device_osdev_by_name ( hwloc_topology_t  topology,
-inlinestatic +inline
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00184.php b/projects/hwloc/doc/v2.12.0/a00184.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00184.php rename to projects/hwloc/doc/v2.12.0/a00184.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00185.php b/projects/hwloc/doc/v2.12.0/a00185.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00185.php rename to projects/hwloc/doc/v2.12.0/a00185.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00186.php b/projects/hwloc/doc/v2.12.0/a00186.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00186.php rename to projects/hwloc/doc/v2.12.0/a00186.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00187.php b/projects/hwloc/doc/v2.12.0/a00187.php similarity index 90% rename from projects/hwloc/doc/v2.12.0rc1/a00187.php rename to projects/hwloc/doc/v2.12.0/a00187.php index f7af7ced7c..21858c671e 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00187.php +++ b/projects/hwloc/doc/v2.12.0/a00187.php @@ -52,8 +52,8 @@ - - + +

Functions

static int hwloc_plugin_check_namespace (const char *pluginname, const char *symbol)
 
int hwloc_plugin_check_namespace (const char *pluginname, const char *symbol)
 

Detailed Description

Note
These structures and functions may change when HWLOC_COMPONENT_ABI is modified.
@@ -98,8 +98,8 @@

Function Documentation

- -

◆ hwloc_plugin_check_namespace()

+ +

◆ hwloc_plugin_check_namespace()

@@ -108,7 +108,7 @@ - + @@ -127,7 +127,7 @@
static int hwloc_plugin_check_namespace int hwloc_plugin_check_namespace ( const char *  pluginname,
-inlinestatic +inline
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00188.php b/projects/hwloc/doc/v2.12.0/a00188.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00188.php rename to projects/hwloc/doc/v2.12.0/a00188.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00189.php b/projects/hwloc/doc/v2.12.0/a00189.php similarity index 60% rename from projects/hwloc/doc/v2.12.0rc1/a00189.php rename to projects/hwloc/doc/v2.12.0/a00189.php index 36b27b2957..07fed6158e 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00189.php +++ b/projects/hwloc/doc/v2.12.0/a00189.php @@ -32,20 +32,20 @@ - - - - - - - - + + + + + + + +

Functions

static int hwloc_filter_check_pcidev_subtype_important (unsigned classid)
 
static int hwloc_filter_check_osdev_subtype_important (hwloc_obj_osdev_type_t subtype)
 
static int hwloc_filter_check_keep_object_type (hwloc_topology_t topology, hwloc_obj_type_t type)
 
static int hwloc_filter_check_keep_object (hwloc_topology_t topology, hwloc_obj_t obj)
 
int hwloc_filter_check_pcidev_subtype_important (unsigned classid)
 
int hwloc_filter_check_osdev_subtype_important (hwloc_obj_osdev_type_t subtype)
 
int hwloc_filter_check_keep_object_type (hwloc_topology_t topology, hwloc_obj_type_t type)
 
int hwloc_filter_check_keep_object (hwloc_topology_t topology, hwloc_obj_t obj)
 

Detailed Description

Note
These structures and functions may change when HWLOC_COMPONENT_ABI is modified.

Function Documentation

- -

◆ hwloc_filter_check_keep_object()

+ +

◆ hwloc_filter_check_keep_object()

@@ -54,7 +54,7 @@ - + @@ -73,7 +73,7 @@
static int hwloc_filter_check_keep_object int hwloc_filter_check_keep_object ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -83,8 +83,8 @@
- -

◆ hwloc_filter_check_keep_object_type()

+ +

◆ hwloc_filter_check_keep_object_type()

@@ -93,7 +93,7 @@ - + @@ -112,7 +112,7 @@
static int hwloc_filter_check_keep_object_type int hwloc_filter_check_keep_object_type ( hwloc_topology_t  topology,
-inlinestatic +inline
@@ -123,8 +123,8 @@
- -

◆ hwloc_filter_check_osdev_subtype_important()

+ +

◆ hwloc_filter_check_osdev_subtype_important()

@@ -133,7 +133,7 @@ - + @@ -142,7 +142,7 @@
static int hwloc_filter_check_osdev_subtype_important int hwloc_filter_check_osdev_subtype_important ( hwloc_obj_osdev_type_t  subtype)
-inlinestatic +inline
@@ -152,8 +152,8 @@
- -

◆ hwloc_filter_check_pcidev_subtype_important()

+ +

◆ hwloc_filter_check_pcidev_subtype_important()

@@ -162,7 +162,7 @@ - + @@ -171,7 +171,7 @@
static int hwloc_filter_check_pcidev_subtype_important int hwloc_filter_check_pcidev_subtype_important ( unsigned  classid)
-inlinestatic +inline
diff --git a/projects/hwloc/doc/v2.12.0rc1/a00190.php b/projects/hwloc/doc/v2.12.0/a00190.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00190.php rename to projects/hwloc/doc/v2.12.0/a00190.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00191.php b/projects/hwloc/doc/v2.12.0/a00191.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00191.php rename to projects/hwloc/doc/v2.12.0/a00191.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00192.php b/projects/hwloc/doc/v2.12.0/a00192.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00192.php rename to projects/hwloc/doc/v2.12.0/a00192.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00196.php b/projects/hwloc/doc/v2.12.0/a00196.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00196.php rename to projects/hwloc/doc/v2.12.0/a00196.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00200.php b/projects/hwloc/doc/v2.12.0/a00200.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00200.php rename to projects/hwloc/doc/v2.12.0/a00200.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00204.php b/projects/hwloc/doc/v2.12.0/a00204.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00204.php rename to projects/hwloc/doc/v2.12.0/a00204.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00208.php b/projects/hwloc/doc/v2.12.0/a00208.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00208.php rename to projects/hwloc/doc/v2.12.0/a00208.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00212.php b/projects/hwloc/doc/v2.12.0/a00212.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00212.php rename to projects/hwloc/doc/v2.12.0/a00212.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00216.php b/projects/hwloc/doc/v2.12.0/a00216.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00216.php rename to projects/hwloc/doc/v2.12.0/a00216.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00220.php b/projects/hwloc/doc/v2.12.0/a00220.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00220.php rename to projects/hwloc/doc/v2.12.0/a00220.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00224.php b/projects/hwloc/doc/v2.12.0/a00224.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00224.php rename to projects/hwloc/doc/v2.12.0/a00224.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00240.php b/projects/hwloc/doc/v2.12.0/a00240.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00240.php rename to projects/hwloc/doc/v2.12.0/a00240.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00244.php b/projects/hwloc/doc/v2.12.0/a00244.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00244.php rename to projects/hwloc/doc/v2.12.0/a00244.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00248.php b/projects/hwloc/doc/v2.12.0/a00248.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00248.php rename to projects/hwloc/doc/v2.12.0/a00248.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00252.php b/projects/hwloc/doc/v2.12.0/a00252.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00252.php rename to projects/hwloc/doc/v2.12.0/a00252.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00256.php b/projects/hwloc/doc/v2.12.0/a00256.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00256.php rename to projects/hwloc/doc/v2.12.0/a00256.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00260.php b/projects/hwloc/doc/v2.12.0/a00260.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00260.php rename to projects/hwloc/doc/v2.12.0/a00260.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00264.php b/projects/hwloc/doc/v2.12.0/a00264.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00264.php rename to projects/hwloc/doc/v2.12.0/a00264.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00268.php b/projects/hwloc/doc/v2.12.0/a00268.php similarity index 97% rename from projects/hwloc/doc/v2.12.0rc1/a00268.php rename to projects/hwloc/doc/v2.12.0/a00268.php index be31598d1e..cf49fc0ba7 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00268.php +++ b/projects/hwloc/doc/v2.12.0/a00268.php @@ -93,7 +93,7 @@
-

Array of objects described by the distance matrix. These objects are not in any particular order, see hwloc_distances_obj_index() and hwloc_distances_obj_pair_values() for easy ways to find objects in this array and their corresponding values.

+

Array of objects described by the distance matrix. These objects are not in any particular order, see hwloc_distances_obj_index() and hwloc_distances_obj_pair_values() for easy ways to find objects in this array and their corresponding values.

diff --git a/projects/hwloc/doc/v2.12.0rc1/a00272.php b/projects/hwloc/doc/v2.12.0/a00272.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00272.php rename to projects/hwloc/doc/v2.12.0/a00272.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00276.php b/projects/hwloc/doc/v2.12.0/a00276.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00276.php rename to projects/hwloc/doc/v2.12.0/a00276.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00280.php b/projects/hwloc/doc/v2.12.0/a00280.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00280.php rename to projects/hwloc/doc/v2.12.0/a00280.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00284.php b/projects/hwloc/doc/v2.12.0/a00284.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00284.php rename to projects/hwloc/doc/v2.12.0/a00284.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00296.php b/projects/hwloc/doc/v2.12.0/a00296.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00296.php rename to projects/hwloc/doc/v2.12.0/a00296.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00300.php b/projects/hwloc/doc/v2.12.0/a00300.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00300.php rename to projects/hwloc/doc/v2.12.0/a00300.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00304.php b/projects/hwloc/doc/v2.12.0/a00304.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00304.php rename to projects/hwloc/doc/v2.12.0/a00304.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00308.php b/projects/hwloc/doc/v2.12.0/a00308.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00308.php rename to projects/hwloc/doc/v2.12.0/a00308.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00312.php b/projects/hwloc/doc/v2.12.0/a00312.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00312.php rename to projects/hwloc/doc/v2.12.0/a00312.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00316.php b/projects/hwloc/doc/v2.12.0/a00316.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00316.php rename to projects/hwloc/doc/v2.12.0/a00316.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00320.php b/projects/hwloc/doc/v2.12.0/a00320.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00320.php rename to projects/hwloc/doc/v2.12.0/a00320.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00324.php b/projects/hwloc/doc/v2.12.0/a00324.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00324.php rename to projects/hwloc/doc/v2.12.0/a00324.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00328.php b/projects/hwloc/doc/v2.12.0/a00328.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00328.php rename to projects/hwloc/doc/v2.12.0/a00328.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00332.php b/projects/hwloc/doc/v2.12.0/a00332.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00332.php rename to projects/hwloc/doc/v2.12.0/a00332.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00336.php b/projects/hwloc/doc/v2.12.0/a00336.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00336.php rename to projects/hwloc/doc/v2.12.0/a00336.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00340.php b/projects/hwloc/doc/v2.12.0/a00340.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00340.php rename to projects/hwloc/doc/v2.12.0/a00340.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00341.php b/projects/hwloc/doc/v2.12.0/a00341.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00341.php rename to projects/hwloc/doc/v2.12.0/a00341.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00342.php b/projects/hwloc/doc/v2.12.0/a00342.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00342.php rename to projects/hwloc/doc/v2.12.0/a00342.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00343.php b/projects/hwloc/doc/v2.12.0/a00343.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00343.php rename to projects/hwloc/doc/v2.12.0/a00343.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00344.php b/projects/hwloc/doc/v2.12.0/a00344.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00344.php rename to projects/hwloc/doc/v2.12.0/a00344.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00345.php b/projects/hwloc/doc/v2.12.0/a00345.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00345.php rename to projects/hwloc/doc/v2.12.0/a00345.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00346.php b/projects/hwloc/doc/v2.12.0/a00346.php similarity index 99% rename from projects/hwloc/doc/v2.12.0rc1/a00346.php rename to projects/hwloc/doc/v2.12.0/a00346.php index 30e461d800..2643a224b8 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00346.php +++ b/projects/hwloc/doc/v2.12.0/a00346.php @@ -48,7 +48,7 @@ functions that set/get the current memory binding policies (if supported): a function that allocates memory bound to specific node set without changing the current memory binding policy (if supported): hwloc_alloc_membind().
  • -a helper which, if needed, changes the current memory binding policy of the process in order to obtain memory binding: hwloc_alloc_membind_policy().
  • +a helper which, if needed, changes the current memory binding policy of the process in order to obtain memory binding: hwloc_alloc_membind_policy().

    An application can thus use the two first sets of functions if it wants to manage separately the global process binding policy and directed allocation, or use the third set of functions if it does not care about the process memory binding policy. Again, reading Memory binding is strongly recommended.

    diff --git a/projects/hwloc/doc/v2.12.0rc1/a00347.php b/projects/hwloc/doc/v2.12.0/a00347.php similarity index 97% rename from projects/hwloc/doc/v2.12.0rc1/a00347.php rename to projects/hwloc/doc/v2.12.0/a00347.php index 64830bc598..b8cd93c742 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00347.php +++ b/projects/hwloc/doc/v2.12.0/a00347.php @@ -43,7 +43,7 @@

    Any of these types may be filtered individually with hwloc_topology_set_type_filter().

    hwloc tries to attach these new objects to normal objects (usually NUMA nodes) to match their actual physical location. For instance, if a I/O hub (or root complex) is physically connected to a package, the corresponding hwloc bridge object (and its PCI bridges and devices children) is inserted as a child of the corresponding hwloc Package object. These children are not in the normal children list but rather in the I/O-specific children list.

    -

    I/O objects also have neither CPU sets nor node sets (NULL pointers) because they are not directly usable by the user applications for binding. Moreover I/O hierarchies may be highly complex (asymmetric trees of bridges). So I/O objects are placed in specific levels with custom depths. Their lists may still be traversed with regular helpers such as hwloc_get_next_obj_by_type(). However, hwloc offers some dedicated helpers such as hwloc_get_next_pcidev() and hwloc_get_next_osdev() for convenience (see Finding I/O objects).

    +

    I/O objects also have neither CPU sets nor node sets (NULL pointers) because they are not directly usable by the user applications for binding. Moreover I/O hierarchies may be highly complex (asymmetric trees of bridges). So I/O objects are placed in specific levels with custom depths. Their lists may still be traversed with regular helpers such as hwloc_get_next_obj_by_type(). However, hwloc offers some dedicated helpers such as hwloc_get_next_pcidev() and hwloc_get_next_osdev() for convenience (see Finding I/O objects).

    OS devices

    Although each PCI device is uniquely identified by its bus ID (e.g. 0000:01:02.3), a user-space application can hardly find out which PCI device it is actually using. Applications rather use software handles (such as the eth0 network interface, the sda hard drive, or the mlx4_0 OpenFabrics HCA). Therefore hwloc tries to add software devices (HWLOC_OBJ_OS_DEVICE, also known as OS devices).

    @@ -114,8 +114,8 @@

    Each hostbridge contains one or several children, either other bridges (usually PCI to PCI switches) or PCI devices (HWLOC_OBJ_PCI_DEVICE). The number of bridges between the hostbridge and a PCI device depends on the machine.

    Consulting I/O devices and binding

    -

    I/O devices may be consulted by traversing the topology manually (with usual routines such as hwloc_get_obj_by_type()) or by using dedicated helpers (such as hwloc_get_pcidev_by_busid(), see Finding I/O objects).

    -

    I/O objects do not actually contain any locality information because their CPU sets and node sets are NULL. Their locality must be retrieved by walking up the object tree (through the parent link) until a non-I/O object is found (see hwloc_get_non_io_ancestor_obj()). This normal object should have non-NULL CPU sets and node sets which describe the processing units and memory that are immediately close to the I/O device. For instance the path from a OS device to its locality may go across a PCI device parent, one or several bridges, up to a Package node with the same locality.

    +

    I/O devices may be consulted by traversing the topology manually (with usual routines such as hwloc_get_obj_by_type()) or by using dedicated helpers (such as hwloc_get_pcidev_by_busid(), see Finding I/O objects).

    +

    I/O objects do not actually contain any locality information because their CPU sets and node sets are NULL. Their locality must be retrieved by walking up the object tree (through the parent link) until a non-I/O object is found (see hwloc_get_non_io_ancestor_obj()). This normal object should have non-NULL CPU sets and node sets which describe the processing units and memory that are immediately close to the I/O device. For instance the path from a OS device to its locality may go across a PCI device parent, one or several bridges, up to a Package node with the same locality.

    Command-line tools are also aware of I/O devices. lstopo displays the interesting ones by default (passing --no-io disables it).

    hwloc-calc and hwloc-bind may manipulate I/O devices specified by PCI bus ID or by OS device name.

    • diff --git a/projects/hwloc/doc/v2.12.0rc1/a00348.php b/projects/hwloc/doc/v2.12.0/a00348.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00348.php rename to projects/hwloc/doc/v2.12.0/a00348.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00349.php b/projects/hwloc/doc/v2.12.0/a00349.php similarity index 99% rename from projects/hwloc/doc/v2.12.0rc1/a00349.php rename to projects/hwloc/doc/v2.12.0/a00349.php index d5b374c026..9d6242f674 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00349.php +++ b/projects/hwloc/doc/v2.12.0/a00349.php @@ -60,7 +60,7 @@

      Each object also contains an attr field that, if non NULL, points to a union hwloc_obj_attr_u of type-specific attribute structures. For instance, a L2Cache object obj contains cache-specific information in obj->attr->cache, such as its size and associativity, cache type. See hwloc_obj_attr_u for details.

      Custom string infos

      -

      Aside of these generic attribute fields, hwloc annotates many objects with info attributes made of name and value strings. Each object contains a list of such pairs that may be consulted manually (looking at the object infos array field) or using the hwloc_obj_get_info_by_name(). The user may additionally add new name-value pairs to any object using hwloc_obj_add_info() or the hwloc-annotate program.

      +

      Aside of these generic attribute fields, hwloc annotates many objects with info attributes made of name and value strings. Each object contains a list of such pairs that may be consulted manually (looking at the object infos array field) or using the hwloc_obj_get_info_by_name(). The user may additionally add new name-value pairs to any object using hwloc_obj_add_info() or the hwloc-annotate program.

      Here is a non-exhaustive list of attributes that may be automatically added by hwloc. 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.

      Hardware Platform Information

      diff --git a/projects/hwloc/doc/v2.12.0rc1/a00350.php b/projects/hwloc/doc/v2.12.0/a00350.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00350.php rename to projects/hwloc/doc/v2.12.0/a00350.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00351.php b/projects/hwloc/doc/v2.12.0/a00351.php similarity index 98% rename from projects/hwloc/doc/v2.12.0rc1/a00351.php rename to projects/hwloc/doc/v2.12.0/a00351.php index d5dfcf23de..86529fce1a 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00351.php +++ b/projects/hwloc/doc/v2.12.0/a00351.php @@ -87,7 +87,7 @@

      Hence, one may have to rethink the way it selects NUMA nodes.

      Iterating over the list of (heterogeneous) NUMA nodes

      -

      A common need consists in iterating over the list of NUMA nodes (e.g. using hwloc_get_next_obj_by_type()). This is useful for counting some domains before partitioning a job, or for finding a node that is local to some objects. With heterogeneous memory, one should remember that multiple nodes may now have the same locality (HBM and DRAM above) or overlapping localities (e.g. DRAM and CXL above).

        +

        A common need consists in iterating over the list of NUMA nodes (e.g. using hwloc_get_next_obj_by_type()). This is useful for counting some domains before partitioning a job, or for finding a node that is local to some objects. With heterogeneous memory, one should remember that multiple nodes may now have the same locality (HBM and DRAM above) or overlapping localities (e.g. DRAM and CXL above).

        • Checking NUMA node subtype or tier attributes is a good way to avoid this issue by ignoring nodes of different kinds.
        • diff --git a/projects/hwloc/doc/v2.12.0rc1/a00352.php b/projects/hwloc/doc/v2.12.0/a00352.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00352.php rename to projects/hwloc/doc/v2.12.0/a00352.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00353.php b/projects/hwloc/doc/v2.12.0/a00353.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00353.php rename to projects/hwloc/doc/v2.12.0/a00353.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00354.php b/projects/hwloc/doc/v2.12.0/a00354.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00354.php rename to projects/hwloc/doc/v2.12.0/a00354.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00355.php b/projects/hwloc/doc/v2.12.0/a00355.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00355.php rename to projects/hwloc/doc/v2.12.0/a00355.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00356.php b/projects/hwloc/doc/v2.12.0/a00356.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00356.php rename to projects/hwloc/doc/v2.12.0/a00356.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00357.php b/projects/hwloc/doc/v2.12.0/a00357.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00357.php rename to projects/hwloc/doc/v2.12.0/a00357.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00358.php b/projects/hwloc/doc/v2.12.0/a00358.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/a00358.php rename to projects/hwloc/doc/v2.12.0/a00358.php diff --git a/projects/hwloc/doc/v2.12.0rc1/a00359.php b/projects/hwloc/doc/v2.12.0/a00359.php similarity index 97% rename from projects/hwloc/doc/v2.12.0rc1/a00359.php rename to projects/hwloc/doc/v2.12.0/a00359.php index 5c21f20e2e..4665c1d317 100644 --- a/projects/hwloc/doc/v2.12.0rc1/a00359.php +++ b/projects/hwloc/doc/v2.12.0/a00359.php @@ -34,7 +34,7 @@ Memory children

          In hwloc v1.x, NUMA nodes were inside the tree, for instance Packages contained 2 NUMA nodes which contained a L3 and several cache.

          Starting with hwloc v2.0, NUMA nodes are not in the main tree anymore. They are attached under objects as Memory Children on the side of normal children. This memory children list starts at obj->memory_first_child and its size is obj->memory_arity. Hence there can now exist two local NUMA nodes, for instance on Intel Xeon Phi processors.

          -

          The normal list of children (starting at obj->first_child, ending at obj->last_child, of size obj->arity, and available as the array obj->children) now only contains CPU-side objects: PUs, Cores, Packages, Caches, Groups, Machine and System. hwloc_get_next_child() may still be used to iterate over all children of all lists.

          +

          The normal list of children (starting at obj->first_child, ending at obj->last_child, of size obj->arity, and available as the array obj->children) now only contains CPU-side objects: PUs, Cores, Packages, Caches, Groups, Machine and System. hwloc_get_next_child() may still be used to iterate over all children of all lists.

          Hence the CPU-side hierarchy is built using normal children, while memory is attached to that hierarchy depending on its affinity.

          Examples

          @@ -129,7 +129,7 @@

          I/O children are not in the main object children list anymore either. They are in the list starting at obj->io_first_child and its size is obj->io_arity.

          Misc children are not in the main object children list anymore. They are in the list starting at obj->misc_first_child and its size is obj->misc_arity.

          See hwloc_obj for details about children lists.

          -

          hwloc_get_next_child() may still be used to iterate over all children of all lists.

          +

          hwloc_get_next_child() may still be used to iterate over all children of all lists.

          Kinds of objects

          Given the above, objects may now be of 4 kinds:

            @@ -149,7 +149,7 @@ HWLOC_OBJ_CACHE replaced

            Instead of a single HWLOC_OBJ_CACHE, there are now 8 types HWLOC_OBJ_L1CACHE, ..., HWLOC_OBJ_L5CACHE, HWLOC_OBJ_L1ICACHE, ..., HWLOC_OBJ_L3ICACHE.

            Cache object attributes are unchanged.

            -

            hwloc_get_cache_type_depth() is not needed to disambiguate cache types anymore since new types can be passed to hwloc_get_type_depth() without ever getting HWLOC_TYPE_DEPTH_MULTIPLE anymore.

            +

            hwloc_get_cache_type_depth() is not needed to disambiguate cache types anymore since new types can be passed to hwloc_get_type_depth() without ever getting HWLOC_TYPE_DEPTH_MULTIPLE anymore.

            hwloc_obj_type_is_cache(), hwloc_obj_type_is_dcache() and hwloc_obj_type_is_icache() may be used to check whether a given type is a cache, data/unified cache or instruction cache.

            allowed_cpuset and allowed_nodeset only in the main topology

            @@ -219,7 +219,7 @@ Return values of functions

            Bitmap functions (and a couple other functions) can return errors (in theory).

            Most bitmap functions may have to reallocate the internal bitmap storage. In v1.x, they would silently crash if realloc failed. In v2.0, they now return an int that can be negative on error. However, the preallocated storage is 512 bits, hence realloc will not even be used unless you run hwloc on machines with larger PU or NUMAnode indexes.

            -

            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.

            +

            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.

            Misc API changes

              @@ -268,7 +268,7 @@

            • -

              hwloc_distribute() and hwloc_distributev() removed, deprecated by hwloc_distrib().

              +

              hwloc_distribute() and hwloc_distributev() removed, deprecated by hwloc_distrib().

            • diff --git a/projects/hwloc/doc/v2.12.0rc1/annotated.php b/projects/hwloc/doc/v2.12.0/annotated.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/annotated.php rename to projects/hwloc/doc/v2.12.0/annotated.php diff --git a/projects/hwloc/doc/v2.12.0rc1/bc_s.png b/projects/hwloc/doc/v2.12.0/bc_s.png similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/bc_s.png rename to projects/hwloc/doc/v2.12.0/bc_s.png diff --git a/projects/hwloc/doc/v2.12.0rc1/bc_sd.png b/projects/hwloc/doc/v2.12.0/bc_sd.png similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/bc_sd.png rename to projects/hwloc/doc/v2.12.0/bc_sd.png diff --git a/projects/hwloc/doc/v2.12.0rc1/classes.php b/projects/hwloc/doc/v2.12.0/classes.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/classes.php rename to projects/hwloc/doc/v2.12.0/classes.php diff --git a/projects/hwloc/doc/v2.12.0rc1/closed.png b/projects/hwloc/doc/v2.12.0/closed.png similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/closed.png rename to projects/hwloc/doc/v2.12.0/closed.png diff --git a/projects/hwloc/doc/v2.12.0rc1/devel09-pci.png b/projects/hwloc/doc/v2.12.0/devel09-pci.png similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/devel09-pci.png rename to projects/hwloc/doc/v2.12.0/devel09-pci.png diff --git a/projects/hwloc/doc/v2.12.0rc1/diagram.png b/projects/hwloc/doc/v2.12.0/diagram.png similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/diagram.png rename to projects/hwloc/doc/v2.12.0/diagram.png diff --git a/projects/hwloc/doc/v2.12.0rc1/dir_5cb306d949c7931a3b6c77517393dd34.php b/projects/hwloc/doc/v2.12.0/dir_5cb306d949c7931a3b6c77517393dd34.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/dir_5cb306d949c7931a3b6c77517393dd34.php rename to projects/hwloc/doc/v2.12.0/dir_5cb306d949c7931a3b6c77517393dd34.php diff --git a/projects/hwloc/doc/v2.12.0rc1/dir_d44c64559bbebec7f509842c48db8b23.php b/projects/hwloc/doc/v2.12.0/dir_d44c64559bbebec7f509842c48db8b23.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/dir_d44c64559bbebec7f509842c48db8b23.php rename to projects/hwloc/doc/v2.12.0/dir_d44c64559bbebec7f509842c48db8b23.php diff --git a/projects/hwloc/doc/v2.12.0rc1/doc.svg b/projects/hwloc/doc/v2.12.0/doc.svg similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/doc.svg rename to projects/hwloc/doc/v2.12.0/doc.svg diff --git a/projects/hwloc/doc/v2.12.0rc1/docd.svg b/projects/hwloc/doc/v2.12.0/docd.svg similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/docd.svg rename to projects/hwloc/doc/v2.12.0/docd.svg diff --git a/projects/hwloc/doc/v2.12.0rc1/doxygen.css b/projects/hwloc/doc/v2.12.0/doxygen.css similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/doxygen.css rename to projects/hwloc/doc/v2.12.0/doxygen.css diff --git a/projects/hwloc/doc/v2.12.0rc1/doxygen.svg b/projects/hwloc/doc/v2.12.0/doxygen.svg similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/doxygen.svg rename to projects/hwloc/doc/v2.12.0/doxygen.svg diff --git a/projects/hwloc/doc/v2.12.0rc1/dudley.png b/projects/hwloc/doc/v2.12.0/dudley.png similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/dudley.png rename to projects/hwloc/doc/v2.12.0/dudley.png diff --git a/projects/hwloc/doc/v2.12.0rc1/dynsections.js b/projects/hwloc/doc/v2.12.0/dynsections.js similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/dynsections.js rename to projects/hwloc/doc/v2.12.0/dynsections.js diff --git a/projects/hwloc/doc/v2.12.0rc1/emmett.png b/projects/hwloc/doc/v2.12.0/emmett.png similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/emmett.png rename to projects/hwloc/doc/v2.12.0/emmett.png diff --git a/projects/hwloc/doc/v2.12.0rc1/folderclosed.svg b/projects/hwloc/doc/v2.12.0/folderclosed.svg similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/folderclosed.svg rename to projects/hwloc/doc/v2.12.0/folderclosed.svg diff --git a/projects/hwloc/doc/v2.12.0rc1/folderclosedd.svg b/projects/hwloc/doc/v2.12.0/folderclosedd.svg similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/folderclosedd.svg rename to projects/hwloc/doc/v2.12.0/folderclosedd.svg diff --git a/projects/hwloc/doc/v2.12.0rc1/folderopen.svg b/projects/hwloc/doc/v2.12.0/folderopen.svg similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/folderopen.svg rename to projects/hwloc/doc/v2.12.0/folderopen.svg diff --git a/projects/hwloc/doc/v2.12.0rc1/folderopend.svg b/projects/hwloc/doc/v2.12.0/folderopend.svg similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/folderopend.svg rename to projects/hwloc/doc/v2.12.0/folderopend.svg diff --git a/projects/hwloc/doc/v2.12.0rc1/functions.php b/projects/hwloc/doc/v2.12.0/functions.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/functions.php rename to projects/hwloc/doc/v2.12.0/functions.php diff --git a/projects/hwloc/doc/v2.12.0rc1/functions_vars.php b/projects/hwloc/doc/v2.12.0/functions_vars.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/functions_vars.php rename to projects/hwloc/doc/v2.12.0/functions_vars.php diff --git a/projects/hwloc/doc/v2.12.0rc1/hagrid.png b/projects/hwloc/doc/v2.12.0/hagrid.png similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/hagrid.png rename to projects/hwloc/doc/v2.12.0/hagrid.png diff --git a/projects/hwloc/doc/v2.12.0rc1/heteromem.png b/projects/hwloc/doc/v2.12.0/heteromem.png similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/heteromem.png rename to projects/hwloc/doc/v2.12.0/heteromem.png diff --git a/projects/hwloc/doc/v2.12.0rc1/index.php b/projects/hwloc/doc/v2.12.0/index.php similarity index 96% rename from projects/hwloc/doc/v2.12.0rc1/index.php rename to projects/hwloc/doc/v2.12.0/index.php index 6a4863ea03..4ec076ee0e 100644 --- a/projects/hwloc/doc/v2.12.0rc1/index.php +++ b/projects/hwloc/doc/v2.12.0/index.php @@ -334,7 +334,7 @@
              * Walk the topology with a tree style.
              *****************************************************************/
              printf("*** Printing overall tree\n");
              -
              print_children(topology, hwloc_get_root_obj(topology), 0);
              +
              print_children(topology, hwloc_get_root_obj(topology), 0);
              /*****************************************************************
              * Third example:
              @@ -355,7 +355,7 @@
              *****************************************************************/
              levels = 0;
              size = 0;
              -
              for (obj = hwloc_get_obj_by_type(topology, HWLOC_OBJ_PU, 0);
              +
              for (obj = hwloc_get_obj_by_type(topology, HWLOC_OBJ_PU, 0);
              obj;
              obj = obj->parent)
              @@ -372,7 +372,7 @@
              * First find out where cores are, or else smaller sets of CPUs if
              * the OS doesn't have the notion of a "core".
              *****************************************************************/
              - +
              /* Get last core. */
              obj = hwloc_get_obj_by_depth(topology, depth,
              @@ -404,8 +404,8 @@
              * memory to the last NUMA node.
              *****************************************************************/
              /* Get last node. There's always at least one. */
              - -
              obj = hwloc_get_obj_by_type(topology, HWLOC_OBJ_NUMANODE, n - 1);
              + +
              obj = hwloc_get_obj_by_type(topology, HWLOC_OBJ_NUMANODE, n - 1);
              size = 1024*1024;
              m = hwloc_alloc_membind(topology, size, obj->nodeset,
              @@ -431,14 +431,14 @@
              struct hwloc_topology * hwloc_topology_t
              Topology context.
              Definition hwloc.h:743
              void hwloc_topology_destroy(hwloc_topology_t topology)
              Terminate and free a topology context.
              int hwloc_topology_load(hwloc_topology_t topology)
              Build the actual topology.
              +
              hwloc_obj_t hwloc_get_obj_by_type(hwloc_topology_t topology, hwloc_obj_type_t type, unsigned idx)
              Returns the topology object at logical index idx with type type.
              unsigned hwloc_get_nbobjs_by_depth(hwloc_topology_t topology, int depth)
              Returns the width of level at depth depth.
              -
              static hwloc_obj_t hwloc_get_root_obj(hwloc_topology_t topology)
              Returns the top-object of the topology-tree.
              hwloc_obj_t hwloc_get_obj_by_depth(hwloc_topology_t topology, int depth, unsigned idx)
              Returns the topology object at logical index idx from depth depth.
              -
              static hwloc_obj_t hwloc_get_obj_by_type(hwloc_topology_t topology, hwloc_obj_type_t type, unsigned idx)
              Returns the topology object at logical index idx with type type.
              -
              static int hwloc_get_nbobjs_by_type(hwloc_topology_t topology, hwloc_obj_type_t type)
              Returns the width of level type type.
              -
              static int hwloc_get_type_or_below_depth(hwloc_topology_t topology, hwloc_obj_type_t type)
              Returns the depth of objects of type type or below.
              +
              int hwloc_get_nbobjs_by_type(hwloc_topology_t topology, hwloc_obj_type_t type)
              Returns the width of level type type.
              int hwloc_get_type_depth(hwloc_topology_t topology, hwloc_obj_type_t type)
              Returns the depth of objects of type type.
              +
              int hwloc_get_type_or_below_depth(hwloc_topology_t topology, hwloc_obj_type_t type)
              Returns the depth of objects of type type or below.
              int hwloc_topology_get_depth(hwloc_topology_t restrict topology)
              Get the depth of the hierarchical tree of objects.
              +
              hwloc_obj_t hwloc_get_root_obj(hwloc_topology_t topology)
              Returns the top-object of the topology-tree.
              @ HWLOC_TYPE_DEPTH_UNKNOWN
              No object of given type exists in the topology.
              Definition hwloc.h:880
              int hwloc_obj_attr_snprintf(char *restrict string, size_t size, hwloc_obj_t obj, const char *restrict separator, int verbose)
              Stringify the attributes of a given topology object into a human-readable form.
              int hwloc_obj_type_snprintf(char *restrict string, size_t size, hwloc_obj_t obj, int verbose)
              Stringify the type of a given topology object into a human-readable form.
              diff --git a/projects/hwloc/doc/v2.12.0rc1/jquery.js b/projects/hwloc/doc/v2.12.0/jquery.js similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/jquery.js rename to projects/hwloc/doc/v2.12.0/jquery.js diff --git a/projects/hwloc/doc/v2.12.0rc1/menu.js b/projects/hwloc/doc/v2.12.0/menu.js similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/menu.js rename to projects/hwloc/doc/v2.12.0/menu.js diff --git a/projects/hwloc/doc/v2.12.0rc1/menudata.js b/projects/hwloc/doc/v2.12.0/menudata.js similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/menudata.js rename to projects/hwloc/doc/v2.12.0/menudata.js diff --git a/projects/hwloc/doc/v2.12.0rc1/minus.svg b/projects/hwloc/doc/v2.12.0/minus.svg similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/minus.svg rename to projects/hwloc/doc/v2.12.0/minus.svg diff --git a/projects/hwloc/doc/v2.12.0rc1/minusd.svg b/projects/hwloc/doc/v2.12.0/minusd.svg similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/minusd.svg rename to projects/hwloc/doc/v2.12.0/minusd.svg diff --git a/projects/hwloc/doc/v2.12.0rc1/nav_f.png b/projects/hwloc/doc/v2.12.0/nav_f.png similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/nav_f.png rename to projects/hwloc/doc/v2.12.0/nav_f.png diff --git a/projects/hwloc/doc/v2.12.0rc1/nav_fd.png b/projects/hwloc/doc/v2.12.0/nav_fd.png similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/nav_fd.png rename to projects/hwloc/doc/v2.12.0/nav_fd.png diff --git a/projects/hwloc/doc/v2.12.0rc1/nav_g.png b/projects/hwloc/doc/v2.12.0/nav_g.png similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/nav_g.png rename to projects/hwloc/doc/v2.12.0/nav_g.png diff --git a/projects/hwloc/doc/v2.12.0rc1/nav_h.png b/projects/hwloc/doc/v2.12.0/nav_h.png similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/nav_h.png rename to projects/hwloc/doc/v2.12.0/nav_h.png diff --git a/projects/hwloc/doc/v2.12.0rc1/nav_hd.png b/projects/hwloc/doc/v2.12.0/nav_hd.png similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/nav_hd.png rename to projects/hwloc/doc/v2.12.0/nav_hd.png diff --git a/projects/hwloc/doc/v2.12.0rc1/open.png b/projects/hwloc/doc/v2.12.0/open.png similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/open.png rename to projects/hwloc/doc/v2.12.0/open.png diff --git a/projects/hwloc/doc/v2.12.0rc1/pages.php b/projects/hwloc/doc/v2.12.0/pages.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/pages.php rename to projects/hwloc/doc/v2.12.0/pages.php diff --git a/projects/hwloc/doc/v2.12.0rc1/plus.svg b/projects/hwloc/doc/v2.12.0/plus.svg similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/plus.svg rename to projects/hwloc/doc/v2.12.0/plus.svg diff --git a/projects/hwloc/doc/v2.12.0rc1/plusd.svg b/projects/hwloc/doc/v2.12.0/plusd.svg similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/plusd.svg rename to projects/hwloc/doc/v2.12.0/plusd.svg diff --git a/projects/hwloc/doc/v2.12.0rc1/ppc64-full-with-smt.png b/projects/hwloc/doc/v2.12.0/ppc64-full-with-smt.png similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/ppc64-full-with-smt.png rename to projects/hwloc/doc/v2.12.0/ppc64-full-with-smt.png diff --git a/projects/hwloc/doc/v2.12.0rc1/ppc64-with-smt.png b/projects/hwloc/doc/v2.12.0/ppc64-with-smt.png similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/ppc64-with-smt.png rename to projects/hwloc/doc/v2.12.0/ppc64-with-smt.png diff --git a/projects/hwloc/doc/v2.12.0rc1/ppc64-without-smt.png b/projects/hwloc/doc/v2.12.0/ppc64-without-smt.png similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/ppc64-without-smt.png rename to projects/hwloc/doc/v2.12.0/ppc64-without-smt.png diff --git a/projects/hwloc/doc/v2.12.0rc1/splitbar.png b/projects/hwloc/doc/v2.12.0/splitbar.png similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/splitbar.png rename to projects/hwloc/doc/v2.12.0/splitbar.png diff --git a/projects/hwloc/doc/v2.12.0rc1/splitbard.png b/projects/hwloc/doc/v2.12.0/splitbard.png similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/splitbard.png rename to projects/hwloc/doc/v2.12.0/splitbard.png diff --git a/projects/hwloc/doc/v2.12.0rc1/sync_off.png b/projects/hwloc/doc/v2.12.0/sync_off.png similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/sync_off.png rename to projects/hwloc/doc/v2.12.0/sync_off.png diff --git a/projects/hwloc/doc/v2.12.0rc1/sync_on.png b/projects/hwloc/doc/v2.12.0/sync_on.png similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/sync_on.png rename to projects/hwloc/doc/v2.12.0/sync_on.png diff --git a/projects/hwloc/doc/v2.12.0rc1/tab_a.png b/projects/hwloc/doc/v2.12.0/tab_a.png similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/tab_a.png rename to projects/hwloc/doc/v2.12.0/tab_a.png diff --git a/projects/hwloc/doc/v2.12.0rc1/tab_ad.png b/projects/hwloc/doc/v2.12.0/tab_ad.png similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/tab_ad.png rename to projects/hwloc/doc/v2.12.0/tab_ad.png diff --git a/projects/hwloc/doc/v2.12.0rc1/tab_b.png b/projects/hwloc/doc/v2.12.0/tab_b.png similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/tab_b.png rename to projects/hwloc/doc/v2.12.0/tab_b.png diff --git a/projects/hwloc/doc/v2.12.0rc1/tab_bd.png b/projects/hwloc/doc/v2.12.0/tab_bd.png similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/tab_bd.png rename to projects/hwloc/doc/v2.12.0/tab_bd.png diff --git a/projects/hwloc/doc/v2.12.0rc1/tab_h.png b/projects/hwloc/doc/v2.12.0/tab_h.png similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/tab_h.png rename to projects/hwloc/doc/v2.12.0/tab_h.png diff --git a/projects/hwloc/doc/v2.12.0rc1/tab_hd.png b/projects/hwloc/doc/v2.12.0/tab_hd.png similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/tab_hd.png rename to projects/hwloc/doc/v2.12.0/tab_hd.png diff --git a/projects/hwloc/doc/v2.12.0rc1/tab_s.png b/projects/hwloc/doc/v2.12.0/tab_s.png similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/tab_s.png rename to projects/hwloc/doc/v2.12.0/tab_s.png diff --git a/projects/hwloc/doc/v2.12.0rc1/tab_sd.png b/projects/hwloc/doc/v2.12.0/tab_sd.png similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/tab_sd.png rename to projects/hwloc/doc/v2.12.0/tab_sd.png diff --git a/projects/hwloc/doc/v2.12.0rc1/tabs.css b/projects/hwloc/doc/v2.12.0/tabs.css similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/tabs.css rename to projects/hwloc/doc/v2.12.0/tabs.css diff --git a/projects/hwloc/doc/v2.12.0rc1/topics.php b/projects/hwloc/doc/v2.12.0/topics.php similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/topics.php rename to projects/hwloc/doc/v2.12.0/topics.php diff --git a/projects/hwloc/doc/v2.12.0rc1/www.open-mpi.org-css.inc b/projects/hwloc/doc/v2.12.0/www.open-mpi.org-css.inc similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/www.open-mpi.org-css.inc rename to projects/hwloc/doc/v2.12.0/www.open-mpi.org-css.inc diff --git a/projects/hwloc/doc/v2.12.0rc1/www.open-mpi.org-footer.inc b/projects/hwloc/doc/v2.12.0/www.open-mpi.org-footer.inc similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/www.open-mpi.org-footer.inc rename to projects/hwloc/doc/v2.12.0/www.open-mpi.org-footer.inc diff --git a/projects/hwloc/doc/v2.12.0rc1/www.open-mpi.org-header.inc b/projects/hwloc/doc/v2.12.0/www.open-mpi.org-header.inc similarity index 100% rename from projects/hwloc/doc/v2.12.0rc1/www.open-mpi.org-header.inc rename to projects/hwloc/doc/v2.12.0/www.open-mpi.org-header.inc diff --git a/projects/hwloc/index.php b/projects/hwloc/index.php index 2f3e25fcbf..c200ad2943 100644 --- a/projects/hwloc/index.php +++ b/projects/hwloc/index.php @@ -25,15 +25,15 @@ endnews(); skipnews("2"); -news("hwloc 2.12.0rc1", - "Major release candidate", - "https://sympa.inria.fr/sympa/arc/hwloc-announce/2025-02/msg00001.html"); +news("hwloc 2.12.0", + "Major release", + "https://sympa.inria.fr/sympa/arc/hwloc-announce/2025-02/msg00002.html"); news("hwloc 2.11.2", "Stable release", "https://www.mail-archive.com/hwloc-announce@lists.open-mpi.org/msg00169.html"); news("Upgrading to v2.0 API", "Guide for Porting your Code", - "doc/v2.11.2/a00360.php"); + "doc/v2.12.0/a00359.php"); news("XML topology database", "Repository of XML topologies", "https://hwloc.gitlabpages.inria.fr/xmls/"); diff --git a/software/hwloc/current/version.inc b/software/hwloc/current/version.inc index 31664fa250..22b40a41c2 100644 --- a/software/hwloc/current/version.inc +++ b/software/hwloc/current/version.inc @@ -7,7 +7,7 @@ # $last_dir: the directory of the last release on that series # (relative to $topdir/software/hwloc/$series_dir or $topdir/projects/hwloc/doc) # -$series_dir = "v2.11"; +$series_dir = "v2.12"; include_once("$topdir/software/hwloc/$series_dir/version.inc"); diff --git a/software/hwloc/nightly/index.php b/software/hwloc/nightly/index.php index a75c2b023e..faf7b9fd58 100644 --- a/software/hwloc/nightly/index.php +++ b/software/hwloc/nightly/index.php @@ -10,6 +10,7 @@
              • v2.12 branch — New release series: + This is the recommended series for all users to download and use.

                Latest snapshot — @@ -17,7 +18,7 @@

              • -
              • v2.11 branch — Stable release series: This is the recommended series for all users to download and use. +
              • v2.11 branch — Stable release series:

                Latest snapshot — diff --git a/software/hwloc/v2.12/version.inc b/software/hwloc/v2.12/version.inc index 2d55ff46d5..8306f43916 100644 --- a/software/hwloc/v2.12/version.inc +++ b/software/hwloc/v2.12/version.inc @@ -11,8 +11,8 @@ $download_prefix="https://download.open-mpi.org/release/hwloc/v" . $release_seri $s3_prefix = "release/hwloc/v" . $release_series . "/"; /* releases must be ordered newest to oldest */ -$releases = array(); +$releases = array("2.12.0"); /* prereleases must be ordered newest to oldest. All prereleases will be shown, so make an empty array when the official release is added to releases above */ -$prereleases = array("2.12.0rc1"); +$prereleases = array();