AMD-AGI / AMD-AGI/AgentKernelArena
Held-out shape injection misses relocated harnesses and renamed vLLM runners
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 118
- Forks
- 14
- Avg merge
- 3d 5h
- Merged PRs (30d)
- 8
Description
Summary
Several harness relocations and two vLLM runner renames break the repository’s held-out shape injection workflow. src.held_out still assumes the old injection targets, so held-out evaluation can miss the files that correctness and performance actually run.
Introduced on main by b2bd34da (fix(tasks): consolidate benchmark correctness and harness hardening, PR #105). CPU unit tests still pass because they only exercise the old TEST_SHAPES / root pytorch_code_* contract.
What is broken
Held-out injection (src/held_out/injection.py, prompts in generate_heldout.py, and src/held_out/README.md) still targets:
- vLLM:
TEST_SHAPES = [...]inscripts/task_runner.py - hip2hip/torch2hip gpumode:
get_inputs()in workspace-rootpytorch_code_module/*.pyandpytorch_code_functional/*_func.py
Harness relocations (hip2hip gpumode)
Scored harnesses now read relocated references, while root copies still exist for some tasks. Injecting into the documented root paths therefore either fails or silently updates stale files:
| Task | Scored get_inputs() location |
|---|---|
hip2hip/gpumode/FusedLeakyReLU |
scripts/pytorch_code_* |
hip2hip/gpumode/Sigmoid |
scripts/pytorch_code_* |
hip2hip/gpumode/NormalAttention_embedded_gaussian |
tests/pytorch_code_* |
vLLM runner marker renames
These two runners no longer define TEST_SHAPES, which is the only vLLM marker replace_test_shapes() looks for:
tasks/triton2triton/vllm/triton_moe_mmk/scripts/task_runner.py:TEST_SHAPES→PERFORMANCE_SHAPES/CORRECTNESS_SHAPEStasks/triton2triton/vllm/triton_scaled_mm/scripts/task_runner.py:TEST_SHAPES→PERFORMANCE_SHAPES/CORRECTNESS_CASES
Injection into those tasks fails (or existing held_out_shapes.yaml becomes a no-op).
Why tests did not catch this
tests/test_held_out.pyuses synthetic sources, not live task layouts.tests/test_quality_loop_runner_contracts.pycopiesscripts/task_runner.pyand injectsTEST_SHAPESfor tasks that still use that name.
Suggested fix
- Resolve injection files from each task’s
config.yaml(--py_modu_file/--py_func_file/ runner path), not from hardcoded layout assumptions. - Support the current vLLM shape markers (
TEST_SHAPES,CORRECTNESS_SHAPES,CORRECTNESS_CASES, and related performance lists) without scoring a different set than correctness/performance. - Add regression tests that apply injection against the real relocated hip2hip tasks and the two renamed vLLM runners, then assert the scored files change.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with src/held_out/injection.py, generate_heldout.py, and the task config.yaml files that define injection paths and runner markers. Compare the real relocated hip2hip harnesses and the two vLLM task_runner.py files, then run tests/test_held_out.py and tests/test_quality_loop_runner_contracts.py while adding regression coverage. Done means injection changes the scored files and supports the listed current shape markers without changing the correctness or performance sets.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- testing, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100