Skip to content

feat(tasks): add curated Campaign 20 kernel benchmarks - #75

Open
irvineoy wants to merge 3 commits into
mainfrom
codex/pr44-curated-tasks
Open

feat(tasks): add curated Campaign 20 kernel benchmarks#75
irvineoy wants to merge 3 commits into
mainfrom
codex/pr44-curated-tasks

Conversation

@irvineoy

@irvineoy irvineoy commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

Summary

This PR rebuilds the independently mergeable subset of #44 on top of the
current main, instead of carrying forward the original 1,780-file change.

  • adds four self-contained Triton tasks:
    • gemm_a16_w16_kernel
    • gemm_a8w8_blockscale_kernel
    • topk_forward
    • write_req_to_token_pool_triton
  • adds two self-contained HIP tasks:
    • paged_attention_large
    • wvsplitk
  • gives every task a real compile/JIT smoke check, correctness check, and
    canonical performance timing path
  • removes runtime dependencies on installed AITER, vLLM, SGLang, and
    triton_kernels packages
  • targets MI355X (gfx950) and derives device properties such as CU count at
    runtime
  • generalizes opt-in perf-helper materialization to marked task runners
  • stores generated workspace_* directories below ./experiments/ and
    git-ignores that directory
  • keeps the one-off task-validator config out of the repository

Scope decisions from #44

This intentionally leaves out:

  • tasks that already exist on main
  • tasks with missing local source or that call production engine operators
  • paged_attention_ragged, because its previous form vendored a full
    Composable Kernel tree; it should be a separate pinned repository task or
    vendor only the minimal dependency closure

The resulting task change is under 1 MiB, versus 1,780 files and about 696k
added lines in #44.

Validation completed

Static and framework checks:

  • git diff --check
  • Python compile/JSON/YAML parsing and task discovery for all added tasks
  • config/source/target-symbol contract checks for all six tasks
  • quoted local-header dependency closure checks for both HIP tasks
  • make check-perf-helpers
  • make check-evaluator
  • make check-docker-runner
  • make check-visualization

Task validator on an AMD Instinct MI355X (gfx950) using
lmsysorg/sglang-rocm:v0.5.14-rocm720-mi35x-20260705:

  • all four Triton tasks: PASS, 10/10 checks each
  • paged_attention_large: PASS, 10/10 checks
  • wvsplitk: PASS, 10/10 checks
  • combined final result: 6/6 tasks PASS, with compile, correctness,
    correctness-implementation review, performance, self-contained, and GPU-hang
    checks passing; no warnings or timeouts in the final reports

The validator runs used temporary ignored YAML files, which were deleted after
the runs. Their reports are retained locally below ./experiments/ and are not
part of this PR.

Related to #44.

@irvineoy
irvineoy marked this pull request as ready for review August 3, 2026 19:25
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