Skip to content

AITER v0.1.12.post2 release summary (2026-04-23) #59

Description

@sunway513

AITER v0.1.12.post2 — Release Summary

Personal-view summary of the v0.1.12.post2 release shipped 2026-04-23.

TL;DR

Released v0.1.12.post2 from release/v0.1.12 after merging two production blockers and rebuilding all 6 wheels under a manylinux_2_28 + torch==2.10.0 ABI contract.

  • Tag: v0.1.12.post2 → commit 28a7b6a5c85f4f34d266c8bbb9af6045b93f28fd (immutable)
  • Release: https://github.com/ROCm/aiter/releases/tag/v0.1.12.post2 (currently --prerelease, awaiting downstream confirmation before flipping to --latest)
  • Wheels: 6 total (ROCm 7.0 / 7.1 / 7.2 × Python 3.10 / 3.12), all built in CI from the tagged commit
  • Validated: end-to-end DSR1 serving in vllm/vllm-openai-rocm:v0.19.1 on both MI300X (gfx942) and MI355X (gfx950)

Fixes contained

# Issue Symptom Fix
1 ROCm#2843 ImportError: cannot import name 'flash_attn_varlen_func' and c10_hip_check_implementation undefined symbol when loading aiter inside vllm/vllm-openai-rocm:v0.19.1 PR ROCm#2846 — removed C10_HIP_KERNEL_LAUNCH_CHECK() macro from gated_rmsnorm_quant_kernels.cu (signature drift between PyTorch versions)
2 ROCm#2864 / vllm#39485 RuntimeError: This GEMM is not supported! running DSR1 on MI300X via vLLM serving Cherry-pick of ROCm#2645 (GEMM dispatch) onto release branch + hand-port of SynchronizedCache template (originally from ROCm#2221) into csrc/include/aiter_hip_common.h
3 (no issue) GLIBCXX_3.4.32 symbol mismatch and c10::cuda::getCurrentCUDAStream(signed char) ABI drift between AITER wheel and vllm/vllm-openai-rocm:v0.19.1 Workflow rewrite to build on pytorch/manylinux2_28-builder:rocm7.X (AlmaLinux 8 + devtoolset-13, glibc 2.28) and pin torch==2.10.0+rocm7.1 for all three ROCm builds

Build / release workflow improvements

The workflow now produces wheels named:

amd_aiter-0.1.12.post2+rocm7.X.manylinux.2.28.torch210-cp3YY-cp3YY-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Validation matrix

Stage Tool Result
AITER tests aiter-test CI PASS
SGLang downstream sglang-downstream-test CI PASS
Black + Ruff checks CI PASS
ATOM DeepSeek-R1 (MI325) atom-test CI PASS
ATOM gpt-oss-120b (MI35X) atom-test CI non-blocker (ATOM destroy_dist_env import not present on release/v0.1.12)
6-wheel build matrix aiter-release CI PASS (3 dispatches × 2 py = 6/6)
DSR1 E2E in vllm v0.19.1 (MI300X) manual repro on f08u19 PASS
DSR1 E2E in vllm v0.19.1 (MI355X) manual repro on f08u19 PASS
Symbol floor auditwheel + objdump GLIBCXX/GLIBC ceiling check PASS (≤ 3.4.29 / ≤ 2.34)

Lessons / follow-ups

  1. Tag immutability rule held. Per Release tags are moving ROCm/aiter#2691, never moved v0.1.12.post2. Fix iteration happened on release/v0.1.12 branch, tag created only after CI confirmed.
  2. Manylinux is mandatory. Ubuntu-22-built wheels carry GLIBCXX_3.4.32 from gcc 13, which breaks dlopen inside vllm-rocm containers (Ubuntu 22 base, libstdc++ tops at 3.4.30). All future production wheels must use pytorch/manylinux2_28-builder or equivalent.
  3. PyTorch ABI pin is mandatory across ROCm versions. torch 2.10 vs 2.11 disagree on c10::cuda::getCurrentCUDAStream namespace masquerade signature. Wheels must declare and pin a torch version explicitly to avoid silent linker drift.
  4. PEP 440 dev-segment digits-only. First trial run failed because 0.1.12.post2.dev2645torch210+rocm7.2.manylinux_2_28 is invalid; corrected to 0.1.12.post2.dev2645+rocm7.2.manylinux.2.28.torch210.
  5. Cross-arch validation needed. First MI355X test silently passed because the renamed /tmp/torch210-wheel.whl was rejected by pip; required strict PEP 427 filename. Confirmed both MI300X and MI355X work from the same wheel after the filename fix.
  6. vLLM worker spawn lacks an AITER-status log line. Several hours of debug burned because the worker silently fell back to non-AITER paths. Open vLLM upstream issue is on the follow-up list.
  7. CI Atom gpt-oss test references newer API (destroy_dist_env) not present in release branches. ATOM dashboard model assumes head; non-blocker per the established rule "ATOM never blocks AITER release."

Outstanding

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions