Skip to content

[rocKE] Add the rocKE COD test driver - #2384

Draft
mhalk wants to merge 1 commit into
ROCm:aomp-devfrom
mhalk:amd/dev/mhalkenh/feat/ci-run-rocke
Draft

[rocKE] Add the rocKE COD test driver#2384
mhalk wants to merge 1 commit into
ROCm:aomp-devfrom
mhalk:amd/dev/mhalkenh/feat/ci-run-rocke

Conversation

@mhalk

@mhalk mhalk commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

Add run_rocke.sh, a standalone driver that runs one rocKE lane against the compiler-of-the-day and prints canonical ROCKE_RESULT rows plus a short summary, together with the modules it executes: the result line format, the comgr/toolchain probe, the COD interop smoke driver and the JUnit converter.

Every row carries a relevance tier, so triage can tell a genuine compiler-of-the-day regression from a rocKE logic failure or this harness's own plumbing. rocke_relevance.py is a pytest plugin that records, per test, what evidence it saw; the JUnit converter joins that onto the rows, and the lanes without per-test evidence tag their rows from the lane's own class. A skip is scored on what is missing: this host (no GPU, no ROCm torch) keeps it green and unmeasured, while a reason naming the toolchain is a red row, since that is the compiler under test failing to do the work.

It lives here, beside the other run_.sh drivers, so an engineer can check rocKE against a COD without the openmp-ci tree; the nightly drives the same script through its USER-run-rocKE- wrappers, as CK's driver already does.

AI-assisted.

Motivation

Technical Details

Test Plan

Test Result

Submission Checklist

@mhalk
mhalk requested a review from jplehr July 30, 2026 20:00
Add run_rocke.sh, a standalone driver that runs one rocKE lane against the
compiler-of-the-day and prints canonical ROCKE_RESULT rows plus a short
summary, together with the modules it executes: the result line format, the
comgr/toolchain probe, the COD interop smoke driver and the JUnit converter.

Every row carries a relevance tier, so triage can tell a genuine
compiler-of-the-day regression from a rocKE logic failure or this harness's
own plumbing. rocke_relevance.py is a pytest plugin that records, per test,
what evidence it saw; the JUnit converter joins that onto the rows, and the
lanes without per-test evidence tag their rows from the lane's own class. A
skip is scored on what is missing: this host (no GPU, no ROCm torch) keeps it
green and unmeasured, while a reason naming the toolchain is a red row, since
that is the compiler under test failing to do the work.

The pytest lane provisions the test dependencies rocKE itself declares and builds
its C++ engine extension with the COD through rocKE's own ROCKE_BUILD_PYBIND
option, so the cross-engine tests run against a COD-built engine instead of
skipping for a missing module.

It lives here, beside the other run_*.sh drivers, so an engineer can check
rocKE against a COD without the openmp-ci tree; the nightly drives the same
script through its USER-run-rocKE-* wrappers, as CK's driver already does.

AI-assisted.
@mhalk
mhalk force-pushed the amd/dev/mhalkenh/feat/ci-run-rocke branch from 3d13fe2 to 1294ab8 Compare August 3, 2026 10:45
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.

1 participant