Skip to content

Int cts tests for gfx1250 - #41

Merged
kuhar merged 2 commits into
developfrom
users/lua1235/gfx1250-int-cts
Aug 20, 2026
Merged

kuhar merged 2 commits into
developfrom
users/lua1235/gfx1250-int-cts

Conversation

@lua1235

@lua1235 lua1235 commented Aug 18, 2026 •

Copy link
Copy Markdown
Contributor

Motivation

Add cts tests for gfx1250 integer intrinsics

Technical Details

  • Integer bitfield extraction
  • Packed-byte interpolation (lerp)
  • SAD/MSAD and packed SAD operations
  • Bit/byte alignment and byte permutation
  • 8-bit and 4-bit integer dot products, including signedness and clamp modes
  • Packed integer conversions and normalized float-to-integer packing
  • Saturating sub-byte packing
  • Packed 16-bit add/min/max
  • Packed 4/6/8-bit lookup permutations
  • M0-relative moves and relative swap
  • Dense integer WMMA
  • Sparse integer SWMMAC
  • Lane reads and first-lane reads
  • Ballot and population-count/mbcnt
  • DS permutation and swizzle
  • DPP lane movement
  • Fixed and variable permlane operations
  • Signed and unsigned integer comparisons
  • Wave-level integer reductions: add, min/max, AND/OR/XOR

Test Plan

Run tests against rocjitsu origin/develop

Test Result

12/22 pass. Most are due to known errors, and fixes are already in flight

Submission Checklist

@lua1235
lua1235 requested a review from a team as a code owner August 18, 2026 20:57

@kuhar kuhar left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

We should give the two gfx1250 matrix tests target-specific fragment packers before treating them as scalar-oracle tests. At corpus/cts/test_cases/general/int_isa/matrix_test_parts.hpp:227, A/B are packed as contiguous K blocks selected by lane >> 4; the CDNA5 8-bit layout instead interleaves K across lane halves and VGPR slots, matching the in-tree Wmma16x16x64Layout. The sparse path used by corpus/cts/test_cases/gfx1250/int_isa/swmmac_i32_16x16x128_iu8_test.cpp:20 likewise reuses the RDNA4 packing instead of the existing gfx1250 compressed-A, dense-B, and selector mappings. The linked-image gate only checks opcode presence, so it can pass while the runtime compares a differently staged matrix. Please split the packing strategy by target or reuse the gfx1250 layout helpers.

Comment thread corpus/cts/CMakeLists.txt Resolved
Comment thread tests/test_int_isa_coverage.py Resolved
@lua1235
lua1235 force-pushed the users/lua1235/gfx1250-int-cts branch from 082ff38 to 372d1a5 Compare August 19, 2026 18:16
@kuhar
kuhar merged commit d96cc27 into develop Aug 20, 2026
kuhar pushed a commit to ROCm/rocm-systems that referenced this pull request Oct 7, 2026
## Motivation

Rocjitsu CI still pins a corpus revision that builds most CTS tests
without optimization. Pick up ROCm/rocjitsu-test-corpus#53 so CI uses
Release builds with assertions enabled while preserving required integer
instruction coverage.

## Technical Details

Bump the HIP/DBT corpus pin from
`cc781dd88cabd1638d1beeb4539c521ccf27de60` to
`387502e864cce3f0490a967e9a185b4922a5e7de` in both the automatic
checkout fallback and the manual-dispatch default. Update the pin's date
comment.

The pinned revision includes the wave32 `mbcnt` and gfx1250 comparison
optimization overrides and the strengthened `mbcnt_hi` coverage
requirement. The bump also includes intervening corpus changes,
including the newer gfx1250 ISA coverage and runtime CTS additions; see
the [corpus commit
range](ROCm/rocjitsu-test-corpus@cc781dd...387502e).

Temporarily exclude all 37 gfx1250 CTS cases introduced by
ROCm/rocjitsu-test-corpus#41 (22 integer cases) and
ROCm/rocjitsu-test-corpus#42 (15 memory cases), including their coverage
checks. The existing skip configuration applies to both the initial run
and failed-test retries.

Reason: These tests are really slow and haven't been verified for their
usefulness. Someone needs to investigate these before they are enabled

## Issue Tracking

ISSUE ID: ROCm/rocjitsu-test-corpus#53

## Test Plan

- Parse the workflow YAML and verify the dispatch default and automatic
checkout pin both select the merged corpus revision.
- Run the repository pre-commit checks on the changed workflow and `git
diff --check`.
- Exercise the updated pin through this PR's rocjitsu corpus workflow.

## Test Result

Local YAML/pin validation, applicable pre-commit checks, and whitespace
checks passed. A targeted pytest run confirms all 37 integer/memory
cases are skipped before build or execution (37 skipped, 43 deselected).

## Submission Checklist

- [x] Look over the contributing guidelines at
https://github.com/ROCm/rocm-systems/blob/develop/CONTRIBUTING.md.
anujshuk-amd pushed a commit to ROCm/rocm-systems that referenced this pull request Oct 12, 2026
## Motivation

Rocjitsu CI still pins a corpus revision that builds most CTS tests
without optimization. Pick up ROCm/rocjitsu-test-corpus#53 so CI uses
Release builds with assertions enabled while preserving required integer
instruction coverage.

## Technical Details

Bump the HIP/DBT corpus pin from
`cc781dd88cabd1638d1beeb4539c521ccf27de60` to
`387502e864cce3f0490a967e9a185b4922a5e7de` in both the automatic
checkout fallback and the manual-dispatch default. Update the pin's date
comment.

The pinned revision includes the wave32 `mbcnt` and gfx1250 comparison
optimization overrides and the strengthened `mbcnt_hi` coverage
requirement. The bump also includes intervening corpus changes,
including the newer gfx1250 ISA coverage and runtime CTS additions; see
the [corpus commit
range](ROCm/rocjitsu-test-corpus@cc781dd...387502e).

Temporarily exclude all 37 gfx1250 CTS cases introduced by
ROCm/rocjitsu-test-corpus#41 (22 integer cases) and
ROCm/rocjitsu-test-corpus#42 (15 memory cases), including their coverage
checks. The existing skip configuration applies to both the initial run
and failed-test retries.

Reason: These tests are really slow and haven't been verified for their
usefulness. Someone needs to investigate these before they are enabled

## Issue Tracking

ISSUE ID: ROCm/rocjitsu-test-corpus#53

## Test Plan

- Parse the workflow YAML and verify the dispatch default and automatic
checkout pin both select the merged corpus revision.
- Run the repository pre-commit checks on the changed workflow and `git
diff --check`.
- Exercise the updated pin through this PR's rocjitsu corpus workflow.

## Test Result

Local YAML/pin validation, applicable pre-commit checks, and whitespace
checks passed. A targeted pytest run confirms all 37 integer/memory
cases are skipped before build or execution (37 skipped, 43 deselected).

## Submission Checklist

- [x] Look over the contributing guidelines at
https://github.com/ROCm/rocm-systems/blob/develop/CONTRIBUTING.md.
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