jax-ml/jax · error · NotImplementedError
Tiling without swizzle is not supported.
Error message
Tiling without swizzle is not supported.
What it means
Error "Tiling without swizzle is not supported." thrown in jax-ml/jax.
Source
Thrown at jax/_src/pallas/mosaic_gpu/lowering.py:2150
transform_avals = [transform_avals[0], *transform_avals[2:]]
else:
swizzle = None
# We verify tiling against swizzling in memory before transposes flip it.
# Note: we do not check len(tiling) == 2 here because subsequent transforms
# (e.g. ReshapeTransform) may commute with it to produce 2D tiling.
tiling_transform = None
if transforms and isinstance(transforms[0], gpu_core.UntilingTransform):
tiling_transform = transforms[0]
elif (
len(transforms) > 1
and isinstance(transforms[0], gpu_core.ExtractAliasedRef)
and isinstance(transforms[1], gpu_core.UntilingTransform)
):
tiling_transform = transforms[1]
if tiling_transform is not None:
if swizzle is None:
raise NotImplementedError("Tiling without swizzle is not supported.")
bw = dtypes.itemsize_bits(ctx.avals_out[0].dtype)
expected_minor_tiling = swizzle * 8 // bw
if tiling_transform.tiling[-1] != expected_minor_tiling:
raise NotImplementedError(
"Minor tiling dimension does not fit swizzle: "
f" expected {expected_minor_tiling}, got {tiling_transform.tiling[-1]}"
)
x_smem, _, transforms = _handle_transforms(
ctx, ctx.avals_in[0], x_ref, transform_avals, transforms,
allow_peer_refs=True
)
del x_ref # Don't use x_ref anymore. Use x_smem instead!
is_signed = mgpu_utils.is_signed(dtype)
if not ctx.avals_out[0].shape: # The scalar case is simple.
val = memref_dialect.load(x_smem, [])View on GitHub (pinned to 1e1c6a8fc0)
When it happens
Trigger: Thrown at jax/_src/pallas/mosaic_gpu/lowering.py:2150 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of jax-ml/jax@1e1c6a8fc0 (2026-08-27).
Data as JSON: /api/errors/eb54659d2a095521.
Report an issue: GitHub.