Skip to content

Releases: niklio/iree-metal

iree-metal 3.11.0.dev2026080801 — Developer Preview 4

Choose a tag to compare

iree-metal 3.11.0.dev2026080801 — Developer Preview 4

This is the fourth experimental developer preview of the open iree-metal JAX
backend for Apple GPUs. It remains a prerelease without production support or
an API-stability commitment.

Highlights

  • ViT-base training uses guarded, exact-shape Metal 4 matrix kernels for its
    feed-forward and backward-projection paths, plus exact simdgroup transposes
    for its remaining gradient-layout conversions. Each substitution validates
    the expected resource layout and falls back to normal SPIR-V-to-MSL output
    when the compiled dispatch no longer matches.
  • Redundant ViT padding fills, padding copies, and one materialized activation
    transpose are removed only when exact dispatch identities, byte ranges, use
    counts, and access modes prove the optimized binding is equivalent.
  • The compact GELU save/reconstruction path, coalesced bias-gradient
    reductions, native exponential lowering, positional-gradient scatter, and
    tuned attention value schedule reduce work around the matrix kernels.
  • The packaged preview-20260808 profile enables the complete validated
    configuration automatically. Users only select
    JAX_PLATFORMS=iree_metal; no campaign tuning flags are required.

Validation

The release is gated on the physical Apple M4 configuration recorded in the
manifest by four independent verifier lanes:

  • 233 BF16/F32 semantic cases, including gather/scatter and target-resource
    invariants;
  • nine decoder-training operator/resource cases;
  • ten deterministic BF16 Hugging Face model-family forward-and-backward
    workloads; and
  • twelve paired decoder-training performance workloads across three model
    families and four training phases.

Every correctness, compilation, resource, determinism, and stability check must
pass. The Hugging Face board additionally requires a geometric-mean throughput
ratio strictly above 1.00x versus live jax-metal, while decoder-training
performance requires an overall ratio of at least 0.95x, every phase at least
0.90x, every workload at least 0.80x, and robust worker CV no greater than 10%.
The attached verifier evidence is authoritative for the exact wheels.

Before packaging, the final compiler profile passed all ten Hugging Face
workloads at a 1.0343826354x board geometric mean. A separate clean strict ViT
crossover measured 0.9989270704x, eliminating the earlier vision-model gap
within measurement noise. Final release claims remain scoped to the attached
exact-wheel evidence.

The comparison is limited to the disclosed Apple M4, JAX 0.6.1, deterministic
inputs, model shapes, synchronization, and aggregation method. It is not a
claim of universal JAX, model, workload, or Apple GPU parity.

Supported configuration

  • Apple M4
  • macOS and Xcode versions recorded in the attached manifest
  • CPython 3.12
  • JAX/JAXLIB 0.6.1
  • Matching compiler and plugin wheels from this release

The macosx_13_0_arm64 wheel tag is a deployment target, not evidence that the
preview was tested across every macOS 13+ configuration or Apple GPU.

Numeric and compatibility limitations

The optimized profile's causal-attention bounds assume finite model inputs and
can change NaN/Inf propagation through masked arithmetic. Use
IREE_METAL_PROFILE=baseline for non-finite diagnostics. The exact-shape ViT
specializations target the verifier's ViT-base training graph and fall back for
other dispatch layouts. Dynamic shapes, multiple devices, distributed
execution, broad JAX test compatibility, other Python/JAX versions, and non-M4
Apple GPUs remain outside this preview's claim.

See docs/metal/developer-preview.md and SUPPORT.md for the complete contract.

Install

For a normal online installation, install the two wheel URLs shown in the
project README. For an offline or fully auditable installation, use the attached
iree-metal-preview-3.11.0.dev2026080801-macos-arm64.tar.gz bundle and verify
its .sha256 sidecar before extraction.

Feedback

Use the iree-metal developer-preview issue template and attach the manifest plus
a sanitized minimal reproducer. Security-sensitive reports should follow
SECURITY.md and must not be filed publicly.

iree-metal 3.11.0.dev2026080401 — Developer Preview 3

Choose a tag to compare

iree-metal 3.11.0.dev2026080401 — Developer Preview 3

This experimental prerelease advances the open iree-metal JAX backend on Apple GPUs. It remains unsupported and carries no API-stability commitment.

The release is pinned to source commit fdc4f1799f720fd4aeee51929a887ad6031ebd1a and was validated from the exact attached wheel pair on an Apple M4 with JAX/JAXLIB 0.6.1.

Full current verifier result

All four independent lanes passed:

  • semantic: 233/233
  • decoder-training operators/resources: 9/9
  • deterministic BF16 Hugging Face forward/backward: 10/10
  • paired decoder-training performance: 12/12

The fresh release-wheel run measured geometric-mean throughput ratios of 1.0008993991x for the Hugging Face suite and 1.0305686378x for decoder training versus live jax-metal. Both are strictly above parity. There were zero wrong-result, execution, resource, timeout, or nondeterministic failures.

The attached iree-metal-preview-3.11.0.dev2026080401-verifier-evidence-macos-arm64.tar.gz contains the combined manifest and all four case-level lanes, sanitized and independently checksummed. The offline bundle contains the exact tested wheels and pinned dependency closure.

Scope

The result applies to the disclosed Apple M4, deterministic verifier inputs and shapes, macOS/toolchain recorded in the evidence, CPython 3.12, and JAX/JAXLIB 0.6.1. It is not a universal Apple GPU, model, workload, or JAX compatibility claim.

See the attached INSTALL.md, RELEASE_NOTES.md, manifest, SPDX SBOM, licenses, and checksum files for installation and audit details.

iree-metal 3.11.0.dev2026080303 — Developer Preview 2

Choose a tag to compare

iree-metal 3.11.0.dev2026080303 — Developer Preview 2

This is the second experimental developer preview of the open iree-metal JAX
backend for Apple GPUs. It remains a prerelease without production support or
an API-stability commitment.

Highlights

  • Resource-aware dispatch formation keeps oversized gather-like producers out
    of all-reduction Metal dispatches. This fixes FP32 embedding-training losses
    whose fused intermediate would otherwise require 69 KiB to 12 MiB of
    threadgroup memory against Apple's 32 KiB limit.
  • The previous resource guard for oversized non-unique scatter-update
    producers remains enabled, covering tied-embedding training graphs that
    combine a large BF16 lookup gradient with a dense vocabulary projection.
  • Correct gather clipping, canonical scatter update-window layouts, legal BF16
    subgroup reductions, and the tested physical Apple attention configuration
    are selected automatically by the packaged preview-20260803 profile.
    Users only select JAX_PLATFORMS=iree_metal; no tuning flags are required.
  • A paired compiler and Metal PJRT plugin for JAX/JAXLIB 0.6.1 on CPython 3.12,
    plus an offline bundle with locked wheels, license inventory, provenance,
    SPDX SBOM, checksums, and independent verifier evidence.

Validation

The exact release wheelhouse is installed into disposable environments and
must pass both release gates on the physical Apple M4 configuration recorded in
the manifest:

  • 233/233 BF16/F32 semantic cases, including 12 resource-stress cases and the
    tied-embedding and FP32 embedding-training reverse-gradient regressions.
  • 10/10 deterministic BF16 forward-and-backward transformer and vision model
    workloads, with loss, gradients, replay determinism, and signatures checked.
  • A geometric-mean throughput ratio strictly above 1.00x across the 10-model
    board versus a paired live, artifact-keyed jax-metal reference.

The attached combined verifier evidence is authoritative for the exact wheels
and includes every raw crossover repetition, case-level result, timing,
tolerance, hash, manifest, and integrity-checked SQLite store.

For each model, one GPU lock covers a balanced
candidate/reference/reference/candidate crossover. Each fresh worker uses 16
synchronized steps, three warmups, and one discarded slow outlier. The exact
JAX Metal native plugin, JAXLIB extension, and installed package metadata are
hashed into the run identity. Reversed order controls for thermal and
GPU-frequency drift without assuming a fixed idle state.

A JAX Metal process that fails during backend startup may be retried once, with
the failed attempt retained in the attached evidence. Candidate failures,
numerical failures, and post-startup reference failures are never retried.

The comparison is scoped to the disclosed Apple M4, JAX 0.6.1, deterministic
inputs, model shapes, synchronization, and aggregation method. It is not a
claim of universal JAX, model, workload, or Apple GPU parity.

Supported configuration

  • Apple M4
  • macOS and Xcode versions recorded in the attached manifest
  • CPython 3.12
  • JAX/JAXLIB 0.6.1
  • Matching compiler and plugin wheels from this release

The macosx_13_0_arm64 wheel tag is a deployment target, not evidence that the
preview was tested across every macOS 13+ configuration or Apple GPU.

Numeric and compatibility limitations

The optimized profile's causal-attention bounds assume finite model inputs and
can change NaN/Inf propagation through masked arithmetic. Use
IREE_METAL_PROFILE=baseline for non-finite diagnostics. Dynamic shapes,
multiple devices, distributed execution, broad JAX test compatibility, other
Python/JAX versions, and non-M4 Apple GPUs remain outside this preview's claim.

See docs/metal/developer-preview.md and SUPPORT.md for the complete contract.

Install

For a normal online installation, install the two wheel URLs shown in the
project README. For an offline or fully auditable installation, use the attached
iree-metal-preview-3.11.0.dev2026080303-macos-arm64.tar.gz bundle and verify its
.sha256 sidecar before extraction.

Feedback

Use the iree-metal developer-preview issue template and attach the manifest plus
a sanitized minimal reproducer. Security-sensitive reports should follow
SECURITY.md and must not be filed publicly.

iree-metal 3.11.0.dev2026080202 — Developer Preview 1

Choose a tag to compare

iree-metal 3.11.0.dev2026080202 — Developer Preview 1

This is the first experimental developer preview of the open iree-metal JAX
backend for Apple GPUs. It is a prerelease with no production support or API
stability commitment.

Highlights

  • BF16 cooperative-matrix lowering to Apple simdgroup_matrix through
    checksummed, tree-locked LLVM/MLIR and SPIRV-Cross source overlays carried in
    this repository.
  • A paired compiler and Metal PJRT plugin for JAX/JAXLIB 0.6.1 on CPython 3.12.
  • The tested preview-20260802 profile is automatic. Users only select
    JAX_PLATFORMS=iree_metal; IREE_METAL_PROFILE=baseline is the one rollback.
  • Runtime MSL compilation is the default, so the optional Xcode Metal
    Toolchain is not required to run the wheels.
  • An offline bundle with hashed dependency wheels, license inventory,
    provenance manifest, SPDX SBOM, and SHA-256 checksums.

Validation

On the physical M4 configuration in the manifest, the exact release wheels are
gated on clean-environment installation, compilation, execution, reverse-mode
autodiff, and all 166 cases in the independent diagnostic verifier with zero
wrong results, execution failures, timeouts, or harness errors. The attached
evidence contains exact timings, tolerances, baseline versions, and case-level
results.

The verifier's aggregate execution ratio is a diagnostic comparison across its
166 cases against jax-metal 0.4.34. It is not a claim of universal JAX,
end-to-end application, or model-training parity.

Supported configuration

  • Apple M4
  • macOS and Xcode versions recorded in the attached manifest
  • CPython 3.12
  • JAX/JAXLIB 0.6.1
  • Matching compiler and plugin wheels from this release

The macosx_13_0_arm64 wheel tag is a deployment target, not a claim that the
preview was tested across every macOS 13+ configuration or Apple GPU.

Numeric and compatibility limitations

The optimized profile's causal-attention bounds assume finite model inputs and
can change NaN/Inf propagation through masked arithmetic. Use the baseline
profile for non-finite diagnostics. Dynamic shapes, multi-device and
distributed execution, broad JAX test compatibility, other Python/JAX
versions, and non-M4 Apple GPUs are not supported by this preview.

See docs/metal/developer-preview.md and SUPPORT.md for the complete contract.

Install

Prefer the attached iree-metal-preview-3.11.0.dev2026080202-macos-arm64.tar.gz
bundle and verify its .sha256 sidecar before extraction. The bundle's
INSTALL.md instructions use only local, hashed wheels and require no network
access.

Feedback

Use the iree-metal developer-preview issue template and attach the manifest plus
a sanitized minimal reproducer. Security-sensitive reports should follow
SECURITY.md and must not be filed publicly.