- Category
- AI Tools
- Rank
- No. 1553Tools index
Previous survey · No. 1558 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- Hmbown
- GitHub
- 53 stars
- Latest release
- v0.10.0
- Date
About
Triton-style kernel toolkit for MLX. Prototype, benchmark, and upstream fused kernels for Apple Silicon ML workloads.
What it does
ZMLX modifies compatible MLX language models so several decode operations run together in fewer Metal dispatches. Matching happens automatically, unsupported models remain unchanged, and prefill keeps the standard MLX path. It also offers kernel authoring, benchmarking, validation, and an OpenAI-compatible local server.
Why it's ranked here
The case rests on measured, model-specific gains rather than a blanket speed claim. Reported improvements range from neutral to 12.8 percent on an M4 Max, with token-identical greedy outputs. Automatic skipping limits risk, while the validation workflow encourages checking results on the actual machine.
What's good
The project states exactly where acceleration comes from: combining normalization, gating, activation, projection, and recurrent-state work into fewer GPU launches. Its benchmark tables name models, patched module counts, hardware, decoding mode, and neutral outcomes. Users can also auto-benchmark candidate patches before keeping them.
Tradeoffs
This is narrowly tied to macOS 14 or newer, Apple Silicon, and recent MLX releases. Optimized paths apply only to short-sequence decode, while prefill remains untouched. Some models gain little or nothing, full-scale coverage is incomplete, and selected kernels require a custom MLX build.
How to use it well
Use ZMLX when serving or experimenting with supported MLX language models on an Apple Silicon Mac, especially when decode latency matters. Start with automatic matching, then validate output and timing on your model and hardware. Treat the kernel API as an optimization workshop, not a cross-platform inference runtime or a general model-serving solution.
Technical notes+
pyproject.toml defines a Hatchling-built Python package requiring Python 3.10+, mlx>=0.30.0, optional MLX-LM and discovery dependencies, and two console scripts. src/zmlx/__init__.py guards most imports on unsupported hosts while allowing the NumPy-based KVTC subsystem. src/zmlx/kd/cli.py implements candidate search, evaluation archives, shape derivation, and reports. src/zmlx/kb/cli.py builds and validates a canonical JSON knowledge base. src/zmlx/bench/__init__.py provides synchronized median-latency comparisons. src/zmlx/kvtc/__main__.py exposes preset, cache-dump, and calibration subcommands.
Observed
- License
- MIT
- Primary language
- Python
- Packaging
- Hatchling wheel published as zmlx, installable with pip
- Runtime requirements
- Python 3.10+, MLX 0.30+, macOS 14+ on Apple Silicon
- Interfaces
- Python library, command-line tools, and an OpenAI-compatible HTTP server
- Optional dependencies
- Extras cover MLX-LM integration, development tools, KV cache coding, and kernel discovery
- Platform exception
- The NumPy-based KVTC subsystem is allowed to import on unsupported hosts
Read from README.md, pyproject.toml, src/zmlx/__init__.py, src/zmlx/kb/cli.py, src/zmlx/kd/cli.py, src/zmlx/kb/__init__.py, src/zmlx/kb/__main__.py, src/zmlx/kd/__init__.py, src/zmlx/kd/__main__.py, src/zmlx/dsl/__init__.py, src/zmlx/ttt/__init__.py, src/zmlx/kvtc/__init__.py, src/zmlx/kvtc/__main__.py, src/zmlx/bench/__init__.py, src/zmlx/bench/__main__.py.
What it can do
Prototype fused kernels for Apple Silicon ML workloads
ML kernel specifications → Prototype kernel implementations
Benchmark ML kernels on Apple Silicon
Kernel implementations → Performance benchmark results
Upstream fused kernels to MLX
Tested kernel implementations → MLX-compatible kernel code
Create Triton-style kernels for MLX framework
Kernel logic and parameters → MLX-compatible kernel functions
Optimize ML operations through kernel fusion
Multiple ML operations → Fused kernel implementation
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.
