inference/research
drafthigh · 0.85updated 2026-10-05

MAX platform and Mojo's inline MLIR escape hatch

repo
This record is a draft. Not yet verified. Provisional. Treat every number on this page as provisional.

Fields

id
sources/w7k-modular-max-and-mojo-mlir
Publisher
Modular
Kind
repo
Accessed
2026-10-05
notes
Two claims from vendor material, both about what MAX/Mojo is rather than how fast it is. (1) Portability: 'The same MAX package runs on NVIDIA, AMD, and Apple silicon - no CUDA version to match, no hardware option to select', and 'MAX doesn't depend on PyTorch, CUDA, or ROCm, so there's nothing to bundle, patch, or sync', with all MAX Python API, model pipelines and GPU kernels open sourced. Kernel authoring is in Mojo, and the GPU API is reached through a DeviceContext whose constructor 'raises an error if no compatible GPU is available'. (2) Mechanism: Mojo is built on MLIR and exposes it directly - four built-ins (__mlir_type, __mlir_attr, __mlir_op, __mlir_region) let a kernel author emit an MLIR operation Mojo does not surface, the docs naming 'NVVM barriers, AMD matrix multiplies, and target-specific address spaces' as the intended uses. So Mojo is a Python-shaped MLIR frontend, not a dialect-free DSL, and the portability claim is a vendor claim with no published cross-vendor benchmark behind it in this source. Latest release max/v26.6.0; license file is Apache-2.0 with LLVM Exceptions while the GitHub API reports NOASSERTION.

Notes

Two claims from vendor material, both about what MAX/Mojo is rather than how fast it is. (1) Portability: 'The same MAX package runs on NVIDIA, AMD, and Apple silicon - no CUDA version to match, no hardware option to select', and 'MAX doesn't depend on PyTorch, CUDA, or ROCm, so there's nothing to bundle, patch, or sync', with all MAX Python API, model pipelines and GPU kernels open sourced. Kernel authoring is in Mojo, and the GPU API is reached through a DeviceContext whose constructor 'raises an error if no compatible GPU is available'. (2) Mechanism: Mojo is built on MLIR and exposes it directly - four built-ins (__mlir_type, __mlir_attr, __mlir_op, __mlir_region) let a kernel author emit an MLIR operation Mojo does not surface, the docs naming 'NVVM barriers, AMD matrix multiplies, and target-specific address spaces' as the intended uses. So Mojo is a Python-shaped MLIR frontend, not a dialect-free DSL, and the portability claim is a vendor claim with no published cross-vendor benchmark behind it in this source. Latest release max/v26.6.0; license file is Apache-2.0 with LLVM Exceptions while the GitHub API reports NOASSERTION.

Cross-references

This record references no other records.