Repository navigation
Conversation
…9-a flags
On aarch64 the vLLM runtime image is based on the upstream vllm/vllm-openai
arm64 image, which is Ubuntu 22.04 and ships gcc/g++ 11.4. torch >= 2.13
detects Grace as armv9-a, and its inductor CPU backend then codegens
-march=armv9-a+sve2+fp16fml+sha3+bf16+i8mm
(torch/_inductor/cpu_vec_isa.py, VecSVE.build_arch_flags). GCC only learned the
`armv9-a` value for -march in 12, so gcc-11 rejects torch's own generated flags:
cc1plus: error: unknown value 'armv9-a' for '-march'
This is not limited to the build: it breaks the torch-compile smoke guard added
for the codec purge, and every runtime inductor/Triton CPU JIT on a Grace host.
gcc-12 is available in the jammy archive (gcc-12-base is already pulled in as a
dependency), so switch the default toolchain to it on aarch64 only; amd64 is
untouched. `cc` and `c++` are their own update-alternatives masters in this
image rather than slaves of gcc/g++, so each link is registered separately. The
trailing compile of a trivial TU with torch's exact flag set fails the build
immediately if the toolchain still cannot handle them.
Signed-off-by: Yifan Jiang <19356972+yifjiang@users.noreply.github.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
yifjiang
temporarily deployed
to
external_collaborator
July 31, 2026 21:34 — with
GitHub Actions
Inactive
yifjiang
temporarily deployed
to
external_collaborator
July 31, 2026 21:34 — with
GitHub Actions
Inactive
Contributor
|
👋 Hi yifjiang! Thank you for contributing to ai-dynamo/dynamo. Just a reminder: The 🚀 |
|
This was referenced Aug 26, 2026
This branch was previously deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
On aarch64 the vLLM runtime image derives from the upstream
vllm/vllm-openaiarm64 image, which is Ubuntu 22.04 and ships gcc/g++ 11.4.torch >= 2.13 detects Grace as
armv9-a, and its inductor CPU backend then codegens:(
torch/_inductor/cpu_vec_isa.py,VecSVE.build_arch_flags). GCC only learned thearmv9-avalue for-marchin 12, so gcc-11 rejects torch's own generated flags:This is not just a build-time problem. It breaks:
validate_torch_compile_smoke.pyregression guard added for the codec purge, andFix
Install
gcc-12/g++-12and make them the default toolchain, aarch64 only — amd64 is untouched. gcc-12 is in the jammy archive andgcc-12-baseis already pulled in as a dependency.Two details worth noting for review:
ccandc++are their ownupdate-alternativesmasters in this image rather than slaves ofgcc/g++, so each of the four links is registered separately. Registering onlygcc/g++leavescc/c++pointing at 11.Test
Built the vLLM runtime image for linux/arm64 and confirmed the smoke guard passes and runtime JIT works on a Grace host. amd64 build path is unchanged (the whole block is inside
if [ "$(uname -m)" = "aarch64" ]).Notes
Filed as a draft — happy to attach a Linear ID and adjust the branch name to the
<login>/<desc>__<DYN-ID>convention before this goes up for review.