You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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)
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
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
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.
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.
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.
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.
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.
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.
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
Greg / Richard final confirmation of the tagged wheel (drop-in replacement for the dev2645 staging wheel they validated; same source, clean version stamp)
Flip --prerelease=false --latest after confirmation
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.12after merging two production blockers and rebuilding all 6 wheels under amanylinux_2_28+torch==2.10.0ABI contract.v0.1.12.post2→ commit28a7b6a5c85f4f34d266c8bbb9af6045b93f28fd(immutable)--prerelease, awaiting downstream confirmation before flipping to--latest)vllm/vllm-openai-rocm:v0.19.1on both MI300X (gfx942) and MI355X (gfx950)Fixes contained
ImportError: cannot import name 'flash_attn_varlen_func'andc10_hip_check_implementationundefined symbol when loading aiter insidevllm/vllm-openai-rocm:v0.19.1C10_HIP_KERNEL_LAUNCH_CHECK()macro fromgated_rmsnorm_quant_kernels.cu(signature drift between PyTorch versions)RuntimeError: This GEMM is not supported!running DSR1 on MI300X via vLLM servingSynchronizedCachetemplate (originally from ROCm#2221) intocsrc/include/aiter_hip_common.hGLIBCXX_3.4.32symbol mismatch andc10::cuda::getCurrentCUDAStream(signed char)ABI drift between AITER wheel andvllm/vllm-openai-rocm:v0.19.1pytorch/manylinux2_28-builder:rocm7.X(AlmaLinux 8 + devtoolset-13, glibc 2.28) and pintorch==2.10.0+rocm7.1for all three ROCm buildsBuild / release workflow improvements
use_manylinuxworkflow input (merged earlier, used for trial wheels)torch_pin+torch_index_urlworkflow inputs (merged into main, future releases skip the manual side-branch hack)release/v0.1.12The workflow now produces wheels named:
Validation matrix
destroy_dist_envimport not present on release/v0.1.12)Lessons / follow-ups
v0.1.12.post2. Fix iteration happened onrelease/v0.1.12branch, tag created only after CI confirmed.GLIBCXX_3.4.32from gcc 13, which breaks dlopen inside vllm-rocm containers (Ubuntu 22 base, libstdc++ tops at 3.4.30). All future production wheels must usepytorch/manylinux2_28-builderor equivalent.c10::cuda::getCurrentCUDAStreamnamespace masquerade signature. Wheels must declare and pin a torch version explicitly to avoid silent linker drift.0.1.12.post2.dev2645torch210+rocm7.2.manylinux_2_28is invalid; corrected to0.1.12.post2.dev2645+rocm7.2.manylinux.2.28.torch210./tmp/torch210-wheel.whlwas rejected by pip; required strict PEP 427 filename. Confirmed both MI300X and MI355X work from the same wheel after the filename fix.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
--prerelease=false --latestafter confirmationpensun/post2-*side branches