[OpenMP] Update HWLOC code for die level detection
Differential Revision: https://reviews.llvm.org/D96748
GitOrigin-RevId: 55dff8b2e4f0ac9e852b5abc053af8dcf6c744f1
diff --git a/runtime/src/kmp_affinity.cpp b/runtime/src/kmp_affinity.cpp
index 03f2e19..e5e1d21 100644
--- a/runtime/src/kmp_affinity.cpp
+++ b/runtime/src/kmp_affinity.cpp
@@ -19,6 +19,10 @@
#if KMP_USE_HIER_SCHED
#include "kmp_dispatch_hier.h"
#endif
+#if KMP_USE_HWLOC
+// Copied from hwloc
+#define HWLOC_GROUP_KIND_INTEL_DIE 104
+#endif
// Store the real or imagined machine hierarchy here
static hierarchy_info machine_hierarchy;
@@ -583,6 +587,13 @@
return KMP_HW_CORE;
case HWLOC_OBJ_PU:
return KMP_HW_THREAD;
+ case HWLOC_OBJ_GROUP:
+ if (obj->attr->group.kind == HWLOC_GROUP_KIND_INTEL_DIE)
+ return KMP_HW_DIE;
+#if HWLOC_API_VERSION >= 0x00020100
+ case HWLOC_OBJ_DIE:
+ return KMP_HW_DIE;
+#endif
}
return KMP_HW_UNKNOWN;
}