[Chapel Merge] Change how qthreads gets hwloc topology from the C

Branch: refs/heads/main
Revision: fd49e8e
Author: jhh67
Link: Unavailable
Log Message:

Merge pull request #20737 from jhh67/qthread

Change how qthreads gets hwloc topology from the Chapel runtime

Qthreads and the Chapel runtime must share the same hwloc topology to ensure that there are no inconsistencies between how they view the hardware. Previously, this was accomplished via the hwloc_via_chapel qthreads "topology interface" which was a copy of the hwloc interface, modified to get the hwloc topology from the Chapel runtime. This PR adds a --with-hwloc-get-topology-function option to qthreads configure that specifies a function to be called to get the hwloc topology, and the hwloc and binders interfaces have been modified to call it.

Passes all single-locale tests.

[Reviewed by @ronawho]

Modified Files:
R third-party/qthread/qthread-src/src/affinity/hwloc_via_chapel.c

M third-party/qthread/Makefile
M third-party/qthread/README
M third-party/qthread/qthread-src/config/qthread_check_hwloc.m4
M third-party/qthread/qthread-src/configure
M third-party/qthread/qthread-src/include/config.h.in
M third-party/qthread/qthread-src/src/affinity/binders.c
M third-party/qthread/qthread-src/src/affinity/hwloc.c

Compare: https://github.com/chapel-lang/chapel/compare/8997f6d4814d...fd49e8eb835b