SIGN IN SIGN UP

[rocm-libraries] ROCm/rocm-libraries#9752 (commit 5fa0bbe)

Users/mkulikow/ck/data prefetch in mxgemm pipeline

JIRA ID : AICK-1670

## Motivation

Added example for data cache prefetch in mx gemm pipeline while also
fixing some bugs in data cache prefetch pipeline

## Technical Details

Add a standalone flatmm example (mx_flatmm_data_cache_prefetch) that
runs
MX GEMM through the compute TDM v1 pipeline
(GemmPipelineAgBgCrCompTDMV1)
with hardware data cache prefetch on gfx1250. Prefetch destination is
selectable per operand (A/B) between L1, L2 or None via the
DataCachePrefetchKind trait, exposed through -prefetch_a_l1 /
-prefetch_b_l1
CLI flags, with an optional -compare mode against a no-prefetch run.

Guarded behind gfx125 in the 18_flatmm CMakeLists.

Also fix data cache prefetch being silently disabled in the scaled
operator() of GemmPipelineAgBgCrCompTDMV1. The scaled path defaulted
data_cache_prefetch_a/b to false and only set them under
UseClusterLaunch, so with cluster launch off the runtime guards folded
away every prefetch and no global_prefetch_b8 was emitted despite an
L1/L2 policy. Default them to true (matching the non-scaled operator());
emission stays gated by the compile-time UseDataCachePrefetch policy
check, so None still emits nothing.

## Test Plan

Checked on simulators:
test name: tile_example_mx_flatmm_mxgemm_data_cache_prefetch

## Test Result

fp4 for 512x512x4096:
no prefetch/L1 prefetch: 71,334 / 54,889 ( 23.1% increase )

## Submission Checklist

- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
M
Michał Kulikowski committed
dd934aad46391d1c049f4f6b09124921b6e0096d
Parent: f33252c
Committed by assistant-librarian[bot] <assistant-librarian[bot]@users.noreply.github.com> on 7/27/2026, 6:52:32 PM