1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 #ifndef PMIX_HWLOC_INTERNAL_H
18 #define PMIX_HWLOC_INTERNAL_H
19
20
21 #include <src/include/pmix_config.h>
22 #include <pmix_common.h>
23
24 #if PMIX_HAVE_HWLOC
25 #include PMIX_HWLOC_HEADER
26
27 #if HWLOC_API_VERSION < 0x00010b00
28 #define HWLOC_OBJ_NUMANODE HWLOC_OBJ_NODE
29 #define HWLOC_OBJ_PACKAGE HWLOC_OBJ_SOCKET
30 #endif
31
32 extern hwloc_topology_t pmix_hwloc_topology;
33 #endif
34
35 BEGIN_C_DECLS
36
37 typedef enum {
38 VM_HOLE_NONE = -1,
39 VM_HOLE_BEGIN = 0,
40 VM_HOLE_AFTER_HEAP = 1,
41 VM_HOLE_BEFORE_STACK = 2,
42 VM_HOLE_BIGGEST = 3,
43 VM_HOLE_IN_LIBS = 4,
44 VM_HOLE_CUSTOM = 5,
45 } pmix_hwloc_vm_hole_kind_t;
46
47 typedef enum {
48 VM_MAP_FILE = 0,
49 VM_MAP_ANONYMOUS = 1,
50 VM_MAP_HEAP = 2,
51 VM_MAP_STACK = 3,
52 VM_MAP_OTHER = 4
53 } pmix_hwloc_vm_map_kind_t;
54
55 PMIX_EXPORT pmix_status_t pmix_hwloc_get_topology(pmix_info_t *info, size_t ninfo);
56 PMIX_EXPORT void pmix_hwloc_cleanup(void);
57
58 END_C_DECLS
59
60 #endif