Skip to content

[EM] More rigorous check for potential cross socket access.#11576

Merged
trivialfis merged 15 commits into
dmlc:masterfrom
trivialfis:fix-numa-warning
Jul 24, 2025
Merged

[EM] More rigorous check for potential cross socket access.#11576
trivialfis merged 15 commits into
dmlc:masterfrom
trivialfis:fix-numa-warning

Conversation

@trivialfis

@trivialfis trivialfis commented Jul 22, 2025

Copy link
Copy Markdown
Member
  • Move the get cpu function.
  • Use has_normal_memory and has_cpu to avoid false positives.
  • Check invalid node bind.
  • Workaround old CTK for the host cache.
  • Cleanup version functions.

@trivialfis
trivialfis requested a review from Copilot July 22, 2025 21:15

This comment was marked as outdated.

@trivialfis

Copy link
Copy Markdown
Member Author

cc @rongou .

@trivialfis
trivialfis requested a review from Copilot July 23, 2025 07:50

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR implements more rigorous checks for potential cross-socket memory access in NUMA systems, focusing on reducing false positives and improving validation. The changes enhance NUMA topology detection by adding functions to check for CPU and normal memory nodes, refactor version checking utilities, and improve error handling for host cache operations.

  • Move CPU NUMA detection functions from threading utilities to NUMA topology module
  • Add rigorous NUMA validation using has_normal_memory and has_cpu system files
  • Refactor and consolidate CUDA version checking functions with clearer naming

Reviewed Changes

Copilot reviewed 15 out of 15 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
tests/cpp/data/test_sparse_page_dmatrix.cc Add filesystem header and improve include comments
tests/cpp/common/test_numa_topo.cc Add tests for new NUMA CPU and memory node detection functions
tests/cpp/common/test_device_vector.cu Update function call to use renamed version checking function
src/data/ellpack_page_source.h Remove NUMA include and add declaration for extracted NUMA check function
src/data/ellpack_page_source.cu Implement rigorous NUMA checking logic and add driver version validation for host cache
src/common/threading_utils.h Remove CPU NUMA function declaration (moved to numa_topo.h)
src/common/threading_utils.cc Remove CPU NUMA function implementation (moved to numa_topo.cc)
src/common/numa_topo.h Add new NUMA detection functions and CPU NUMA function from threading utils
src/common/numa_topo.cc Implement new NUMA detection functions and moved CPU NUMA function
src/common/device_helpers.cu Fix namespace prefix for version checking function
src/common/device_compression.cu Add null pointer check for memory pool
src/common/cuda_rt_utils.h Rename version functions with clearer "Global" suffix
src/common/cuda_rt_utils.cc Implement renamed version functions
src/common/cuda_dr_utils.h Remove duplicate version function declaration
src/common/cuda_dr_utils.cc Update to use renamed version function and remove duplicate implementation

Comment thread src/data/ellpack_page_source.cu
@trivialfis
trivialfis merged commit c131a1b into dmlc:master Jul 24, 2025
114 of 122 checks passed
@trivialfis
trivialfis deleted the fix-numa-warning branch July 24, 2025 05:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants