CVS RCCL: Capture amd-smi ECC counters before and after test on each node and warn if any counter delta > 0 - #358
Open
sarachoi-amd wants to merge 1 commit into
Open
CVS RCCL: Capture amd-smi ECC counters before and after test on each node and warn if any counter delta > 0#358sarachoi-amd wants to merge 1 commit into
sarachoi-amd wants to merge 1 commit into
Conversation
… capture and delta reporting
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.
… capture and delta reporting
Motivation
Capture amd-smi ECC counters on each node before and after the test, and warn when any counter increases. This makes it easier to spot silent ECC activity during validation and flag nodes that may need further investigation.
Technical Details
RCCL ECC delta checking is opt-in via cvs_params.verify_ecc_delta ("True"; default "False") in rccl_perf and rccl_regression. It captures amd-smi ECC counters (amd-smi metric -g all --json) before and after each collective and logs one INFO table per node (CE/UE/DE before/after/delta for all seven blocks by default). Use verify_ecc_blocks (e.g. ["UMC", "XGMI_WAFL"]) to limit which blocks are checked; omit or leave empty for all blocks. Requires passwordless sudo (same gate as dmesg). Counter increases log WARNING but do not fail the test. Grep the pytest log for ECC_BLOCKS.
Ticket: AIMVT-307 (DCCS-6489)
Test Plan
Run RCCL on a live cluster with verify_ecc_delta enabled and disabled, varying verify_ecc_blocks (omitted, empty, lowercase, valid subset, mixed valid/invalid, and invalid syntax), and confirm ECC capture, logging, warnings, and pass/fail behavior match expectations.
Test Result
Ran RCCL with varied cvs_params ECC settings on a live cluster. With verify_ecc_delta: "False" (or omitted), no ECC_BLOCKS output. With verify_ecc_delta: "True", confirmed full before/after ECC tables when verify_ecc_blocks is omitted or [], and block-filtered output for lowercase names and mixed valid/invalid lists (e.g. ["UMC","test","SDMA"] reports only UMC and SDMA). Invalid block names emit WARNING and fall back to all blocks when none remain valid. Invalid verify_ecc_blocks syntax is handled without breaking the run. ECC warnings do not fail the test when the collective itself fails.
Submission Checklist
make fmt-check,make lint, andmake test(ormake ut) locally and all checks pass.cvs/lib/unittests/test_rocm_plib.pyfor new ECC delta helpers.docs/reference/configuration-files/rccl.rst,cvs/tests/rccl/README.md,rccl_config.jsoncomments).verify_ecc_deltaenabled/disabled and variedverify_ecc_blockssettings.verify_ecc_deltadefaults to"False").