Skip to content

fix(health): scope TransferBench CPU endpoints on sparse NUMA [AIMVT-314] - #382

Open
speriaswamy-amd wants to merge 2 commits into
mainfrom
fix/aimvt-314-transferbench-numa
Open

fix(health): scope TransferBench CPU endpoints on sparse NUMA [AIMVT-314]#382
speriaswamy-amd wants to merge 2 commits into
mainfrom
fix/aimvt-314-transferbench-numa

Conversation

@speriaswamy-amd

Copy link
Copy Markdown
Contributor

Summary

  • Fixes AIMVT-314: Helios-R/Venice reports ~38 NUMA nodes but only 2 have CPUs. TransferBench p2p/scaling enumerated all of them, aborted at CPU 2 (cannot allocate memory due to process memory policy/cpuset), and parse_tb_p2p_bw() crashed with AttributeError on missing UniDir averages.
  • Cluster env_vars never reached the sudo bash -c wrapper, and health JSON had no NUM_CPU_DEVICES knob. This does not switch to podp2p (that would drop CPU↔GPU coverage).
  • Inject env inside sudo bash -c. Auto-detect populated CPU NUMA count (auto_num_cpu_devices, default true) or set transferbench.num_cpu_devices / transferbench.env. Harden the p2p parser to fail_test() with a NUMA hint instead of crashing; match the cpuset abort in scan_test_results().

Test plan

  • New unit tests in test_transferbench_health.py (env prefix, NUMA count parsing, abort fixture vs scoped success)
  • Hardware k19-1: auto-detect NUM_CPU_DEVICES=2; test_transfer_bench_p2p PASSED in 65s (4 GPUs, UniDir GPU→GPU avg ~190 GB/s). No NUMA abort, no parser crash.

Made with Cursor

…314]

Venice reports 38 NUMA nodes while only two have CPUs, so p2p/scaling abort before GPU work and parse_tb_p2p_bw raises AttributeError. Inject NUM_CPU_DEVICES inside the sudo wrapper and fail closed when averages are missing.

Co-authored-by: Cursor <cursoragent@cursor.com>
Comment thread cvs/tests/health/transferbench_cvs.py
Replace grep -l | wc -l with an explicit cpulist walk. Keep Mems_allowed_list when the count is 0 (empty glob / no populated nodes).

Co-authored-by: Cursor <cursoragent@cursor.com>
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.

2 participants