Skip to content

fix(metax): allow strict FP32 GEMM precision - #1561

Draft
big-hip wants to merge 1 commit into
InfiniTensor:InfiniLM-v0.2.9cfrom
big-hip:fix/metax-fp32-gemm
Draft

big-hip wants to merge 1 commit into
InfiniTensor:InfiniLM-v0.2.9cfrom
big-hip:fix/metax-fp32-gemm

Conversation

@big-hip

@big-hip big-hip commented Sep 17, 2026

Copy link
Copy Markdown

MetaX FP32 GEMM unconditionally selects TF32, so strict FP32 Mamba continuation comparisons fail even when NVIDIA's TF32 switch is disabled. Honor INFINIOP_METAX_ALLOW_TF32=0 at descriptor creation while preserving the default and existing FP16/BF16 accumulation behavior.

Branch: fix/metax-fp32-gemm. Base: InfiniLM-v0.2.9c.

Three files (+73/-2): the precision switch, a subprocess regression covering default/strict modes, and usage documentation. Existing descriptors and captured graphs retain their selected policy; change it before process startup. This is numerical compatibility, not a claimed performance speedup.

Validation: both process-isolated regression cases passed on C500, MACA 3.5.3.20 and PyTorch 2.8.0+metax3.5.3.9. They cover three activation dtypes and rows 1/3/257. Current source matches the tested library's source snapshot. Format/whitespace checks passed. No fresh isolated-branch build or upstream CI was run.

  • Default behavior retained and documented.
  • Precision regression and formatting checks.
  • Fresh accelerator build and upstream CI.

Published as a draft while independent branch builds and upstream CI are pending.

Saved output, source provenance, device conditions and archived measurements: immutable evidence. Attachments live on a separate fork branch and are not part of this source diff.

Rendering of saved regression output; not a fresh CI run

CI at publication: fork Ruff passed; the independent fork CPU build/test matrix is in progress. The upstream run reports action_required and needs repository-side approval. No successful upstream build is claimed.

Keep TF32 as the default and support INFINIOP_METAX_ALLOW_TF32=0 at descriptor creation. Validate the precision choice in isolated processes.
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