Merged
Conversation
jharryma
pushed a commit
that referenced
this pull request
Sep 12, 2025
jharryma
pushed a commit
that referenced
this pull request
Sep 12, 2025
[ROCm/rocprofiler-compute commit: 6885cb0]
db2d68e to
1e25d91
Compare
Contributor
Author
|
Rebased branch |
8756959 to
66d015c
Compare
1 task
c151ee1 to
84f1c25
Compare
56260f4 to
41caf5e
Compare
98b99bf to
9cd5b66
Compare
Contributor
There was a problem hiding this comment.
Pull Request Overview
Enable ROCPD output and content validation across selected tests to support automated verification on ROCm 7.0+ systems with a valid GPU.
- Add a Python validator (validate-rocpd.py) to check ROCPD SQLite DBs against JSON rule sets.
- Integrate ROCPD-based validation into CMake test flows for transpose, roctx, openmp-target, video-decode, and jpeg-decode; gate on ROCm >= 7.0 and GPU presence.
- Add JSON rules for various scenarios and enhance tooling (pre-commit JSON checks; CI Python 3.10).
Reviewed Changes
Copilot reviewed 26 out of 26 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
| projects/rocprofiler-systems/tests/validate-rocpd.py | New ROCPD DB validator CLI; loads JSON rules, runs table/column/row/query checks, returns structured exit codes. |
| projects/rocprofiler-systems/tests/rocprof-sys-testing.cmake | Add ROCPD enablement gate, ROCPD env, ROCPD validation test wiring, and PASS_REGEX support. |
| projects/rocprofiler-systems/tests/rocprof-sys-roctx-tests.cmake | Enable ROCPD conditionally for roctx tests and add ROCPD validation. |
| projects/rocprofiler-systems/tests/rocprof-sys-rocm-tests.cmake | Configure transpose tests to support ROCPD and add ROCPD validation. |
| projects/rocprofiler-systems/tests/rocprof-sys-openmp-tests.cmake | Move OMPT env here, enable ROCPD conditionally, and add ROCPD validation for openmp-target. |
| projects/rocprofiler-systems/tests/rocprof-sys-decode-tests.cmake | Enable ROCPD for video/jpeg decode tests and add corresponding ROCPD validations. |
| projects/rocprofiler-systems/tests/rocpd-validation-rules/video-decode/validation-rules.json | Add minimal table presence rule for threads in video decode. |
| projects/rocprofiler-systems/tests/rocpd-validation-rules/video-decode/sdk-metrics-rules.json | Add ROCPD rules for rocdecode and hip API traces. |
| projects/rocprofiler-systems/tests/rocpd-validation-rules/video-decode/amd-smi-rules.json | Add amd-smi metrics validation for video decode. |
| projects/rocprofiler-systems/tests/rocpd-validation-rules/transpose/validation-rules.json | Add kernel and thread rules for transpose scenario. |
| projects/rocprofiler-systems/tests/rocpd-validation-rules/transpose/timer-sampling-rules.json | Add timer sampling string and region checks. |
| projects/rocprofiler-systems/tests/rocpd-validation-rules/transpose/sdk-metrics-rules.json | Add hip/hsa/memory allocations/copies rules for transpose. |
| projects/rocprofiler-systems/tests/rocpd-validation-rules/transpose/amd-smi-rules.json | Add amd-smi rules for transpose runs. |
| projects/rocprofiler-systems/tests/rocpd-validation-rules/roctx/validation-rules.json | Add kernel/thread validations for roctx sample. |
| projects/rocprofiler-systems/tests/rocpd-validation-rules/roctx/sdk-metrics-rules.json | Add marker API presence and counts for roctx. |
| projects/rocprofiler-systems/tests/rocpd-validation-rules/roctx/amd-smi-rules.json | Add amd-smi rules for roctx sample. |
| projects/rocprofiler-systems/tests/rocpd-validation-rules/openmp-target/sdk-metrics-rules.json | Add OMPT/HSA SDK validation for openmp-target. |
| projects/rocprofiler-systems/tests/rocpd-validation-rules/openmp-target/kernel-rules.json | Add kernel-dispatch count/name expectations for openmp-target. |
| projects/rocprofiler-systems/tests/rocpd-validation-rules/jpeg-decode/validation-rules.json | Add kernel/thread rules for jpeg decode. |
| projects/rocprofiler-systems/tests/rocpd-validation-rules/jpeg-decode/sdk-metrics-rules.json | Add rocjpeg and hip API validation rules. |
| projects/rocprofiler-systems/tests/rocpd-validation-rules/jpeg-decode/amd-smi-rules.json | Add amd-smi rules for jpeg decode. |
| projects/rocprofiler-systems/tests/rocpd-validation-rules/default-rules.json | Baseline rules used by the validator. |
| projects/rocprofiler-systems/tests/rocpd-validation-flow.md | Documentation of validation flow and rule structure. |
| projects/rocprofiler-systems/.pre-commit-config.yaml | Add JSON lint/format hooks. |
| .github/workflows/rocprofiler-systems-formatting.yml | Use Python 3.10 in formatting workflow. |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
projects/rocprofiler-systems/tests/rocprof-sys-roctx-tests.cmake
Outdated
Show resolved
Hide resolved
projects/rocprofiler-systems/tests/rocpd-validation-rules/transpose/cpu-metrics-rules.json
Show resolved
Hide resolved
projects/rocprofiler-systems/tests/rocpd-validation-rules/transpose/sdk-metrics-rules.json
Show resolved
Hide resolved
projects/rocprofiler-systems/tests/rocpd-validation-rules/video-decode/sdk-metrics-rules.json
Outdated
Show resolved
Hide resolved
9cd5b66 to
34f725d
Compare
Add for transpose, video-decode, jpeg-decode, roctx, and openmp-target Add JSON check to pre-commit-config Co-authored-by: Marjan Antic <Marjan.Antic@amd.com>
…e matching "name_prefix" tables.
34f725d to
223ae1a
Compare
Contributor
Author
|
Rebasing |
Accidently removed in previous refactoring.
systems-assistant bot
pushed a commit
to ROCm/rocprofiler-systems
that referenced
this pull request
Oct 20, 2025
* Add for rocpd testing and output validation Add for transpose, video-decode, jpeg-decode, roctx, and openmp-target Add JSON check to pre-commit-config Co-authored-by: Marjan Antic <Marjan.Antic@amd.com> * Remove redundant environment variable * Fix spelling typo * Fix typo in error message * Fix memory_allocation query * Incorperate feedback from review. Handle case where there are multiple matching "name_prefix" tables. * Fix environment settings in `rocprof-sys-testing.cmake` Accidently removed in previous refactoring. * Formatting python file [rocm-systems] ROCm/rocm-systems#834 (commit 32f9fa6)
1 task
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.
Motivation
Enable ROCPD output and content validation to some of the tests in the test suite to allow for automated testing.
Technical Details
ROCPROFSYS_USE_ROCPD=YESto the test configuration.validate-rocpd.pyto validate contents of therocpdoutput.transpose,roctx,openmp-target,video-decode, andjpeg-decodeTest Plan
Test Result
Submission Checklist