Add option for using bundled static hwloc - #1609
Draft
bratpiorka wants to merge 6 commits into
Draft
bratpiorka wants to merge 6 commits into
bratpiorka wants to merge 6 commits into
Conversation
bratpiorka
force-pushed
the
rrudnick_static_hwloc
branch
8 times, most recently
from
September 24, 2026 08:05
e6cfe87 to
757d81e
Compare
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Critical issues remain in static installation/linking and Windows bundled-header configuration.
Get a fresh assessment by requesting another Copilot review.
Review effort: Lite
Findings: 3
Open (3)
What changed in this PR
Adds UMF_USE_BUNDLED_HWLOC to use bundled static hwloc on Linux and Windows.
Changes:
- Adds bundled hwloc headers and platform configurations.
- Updates CMake integration, documentation, CI, and tooling exclusions.
| File | Summary |
|---|---|
src/deps/hwloc/windows/include/hwloc/autogen/config.h |
Windows hwloc configuration. |
src/deps/hwloc/linux/include/hwloc/autogen/config.h |
Linux hwloc configuration. |
src/deps/hwloc/include/hwloc/shmem.h |
Bundled shared-memory topology API. |
src/deps/hwloc/include/hwloc/rsmi.h |
Bundled ROCm SMI API. |
src/deps/hwloc/include/hwloc/plugins.h |
Bundled plugin API. |
src/deps/hwloc/include/hwloc/openfabrics-verbs.h |
Bundled OpenFabrics API. |
src/deps/hwloc/include/hwloc/opencl.h |
Bundled OpenCL API. |
src/deps/hwloc/include/hwloc/nvml.h |
Bundled NVML API. |
src/deps/hwloc/include/hwloc/memattrs.h |
Bundled memory-attributes API. |
src/deps/hwloc/include/hwloc/linux.h |
Bundled Linux helpers. |
src/deps/hwloc/include/hwloc/linux-libnuma.h |
Bundled libnuma API. |
src/deps/hwloc/include/hwloc/levelzero.h |
Bundled Level Zero API. |
src/deps/hwloc/include/hwloc/inlines.h |
Bundled inline helpers. |
src/deps/hwloc/include/hwloc/glibc-sched.h |
Bundled glibc scheduling API. |
src/deps/hwloc/include/hwloc/gl.h |
Bundled OpenGL API. |
src/deps/hwloc/include/hwloc/export.h |
Bundled topology export API. |
src/deps/hwloc/include/hwloc/distances.h |
Bundled distances API. |
src/deps/hwloc/include/hwloc/diff.h |
Bundled topology-diff API. |
src/deps/hwloc/include/hwloc/deprecated.h |
Bundled compatibility API. |
src/deps/hwloc/include/hwloc/cudart.h |
Bundled CUDA runtime API. |
src/deps/hwloc/include/hwloc/cuda.h |
Bundled CUDA API. |
src/deps/hwloc/include/hwloc/cpukinds.h |
Bundled CPU-kind API. |
src/deps/hwloc/include/hwloc/bitmap.h |
Bundled bitmap API. |
scripts/check_license/file-exceptions.sh |
Excludes vendored files from license checks. |
README.md |
Documents the bundled hwloc option. |
CMakeLists.txt |
Configures bundled hwloc selection. |
.github/workflows/reusable_basic.yml |
Adds bundled hwloc CI coverage. |
.github/workflows/.spellcheck-conf.toml |
Excludes vendored files from spellchecking. |
.github/scripts/run-codespell.py |
Excludes vendored files from codespell checks. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
bratpiorka
force-pushed
the
rrudnick_static_hwloc
branch
from
September 24, 2026 13:23
757d81e to
0bbfa9d
Compare
bratpiorka
force-pushed
the
rrudnick_static_hwloc
branch
4 times, most recently
from
September 29, 2026 12:57
0a48623 to
4383652
Compare
| NAME) | ||
| set(UMF_LIBS | ||
| ${UMF_LIBS} | ||
| "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${CMAKE_INSTALL_LIBDIR}/${UMF_HWLOC_ARCHIVE_NAME}>" |
| find_package(umf REQUIRED CONFIG) | ||
|
|
||
| add_executable(umf_install_consumer main.c) | ||
| target_link_libraries(umf_install_consumer PRIVATE umf::umf umf::umf_headers) |
bratpiorka
force-pushed
the
rrudnick_static_hwloc
branch
2 times, most recently
from
September 29, 2026 15:41
9159115 to
b03d490
Compare
| - name: Build and install UMF | ||
| run: | | ||
| cmake --build ${{env.BUILD_DIR}} --config ${{matrix.build_type}} -j $Env:NUMBER_OF_PROCESSORS | ||
| cmake --install ${{env.BUILD_DIR}} --config ${{matrix.build_type}} |
| - name: Build and run test of installed UMF | ||
| run: | | ||
| $extraArgs = @() | ||
| $prefixPath = "${{env.INSTL_DIR}}" |
bratpiorka
force-pushed
the
rrudnick_static_hwloc
branch
2 times, most recently
from
September 29, 2026 16:15
d4dc15d to
2aeb614
Compare
bratpiorka
force-pushed
the
rrudnick_static_hwloc
branch
from
September 29, 2026 17:50
9d06f8a to
4b61f8a
Compare
Comment on lines
+322
to
+325
| add_library(${UMF_HWLOC_NAME} INTERFACE) | ||
| target_link_libraries(${UMF_HWLOC_NAME} INTERFACE "${LIBHWLOC_LIBRARIES}") | ||
| target_include_directories(${UMF_HWLOC_NAME} | ||
| INTERFACE ${LIBHWLOC_INCLUDE_DIRS}) |
| '-DCMAKE_STATIC_LINKER_FLAGS=/Brepro') | ||
| Invoke-Native cmake @('--build', $BuildDir, '--config', 'Release', '--parallel') | ||
|
|
||
| $lib = Join-Path $BuildDir 'Release\hwloc.lib' |
bratpiorka
force-pushed
the
rrudnick_static_hwloc
branch
2 times, most recently
from
October 1, 2026 09:10
4b61f8a to
5293fcc
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Add
UMF_USE_BUNDLED_HWLOCoption for using bundled static hwloc.