This release is a pre-release and may not be stable for production use.
loom-py-rt-metal
The Metal backend for loom-py-rt. One shared library in one
small wheel; there is nothing here to import.
pip install "loom-py-rt[metal]"
import loom
loom.devices() # a Metal device now appears
model = loom.Model.from_file(path, device="gpu")
The base package is unchanged by installing this — it discovers the library on sys.path at import
and device="auto" starts using it. That is what GGML_BACKEND_DL buys: no second copy of the
runtime per accelerator.
Apple Silicon only
There is no Intel-Mac wheel, so pip install "loom-py-rt[metal]" will not resolve on one. That is
intended rather than an oversight — an extra that quietly resolved to nothing would hand back a
successful install and no Metal, and the first sign of it would be an unexplained performance number
much later.
Metal is not the Neural Engine. Metal is the GPU, and is an ordinary in-tree ggml backend. The Neural Engine means CoreML, which no ggml backend targets.
If it appears not to have worked
Check loom.devices(). A backend that finds no supported device loads without error and
registers nothing — the only other symptom is a model running at CPU speed.
device="gpu" asks for an offload device with its own memory, preferring one the kernel confirms is
a GPU. It is not a promise that Metal specifically was chosen. Pass device="Metal0" to require this
backend.
Note that Apple Silicon is a unified-memory part: the CPU and the GPU address the same physical RAM. A device that is faster for a large matrix multiplication is not automatically faster for a small graph, because the win no longer includes escaping a slow bus.
Versioning
This package pins the base with ==, not ~=. It carries a libggml-metal.so that is dlopened
beside the base wheel's libggml-base.dylib, and ggml makes no ABI promise across revisions — so a
base release that moves its ggml pin invalidates every backend wheel published before it. The exact
pin is what stops pip from pairing two libraries that do not agree.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file loom_py_rt_metal-1.0.0rc9-py3-none-macosx_14_0_arm64.whl.
File metadata
- Download URL: loom_py_rt_metal-1.0.0rc9-py3-none-macosx_14_0_arm64.whl
- Upload date:
- Size: 179.1 kB
- Tags: Python 3, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53409fe90657e926cfaf6164df35bdcaa8e046797dd16261d0c4c441491f4270
|
|
| MD5 |
3bbf3eda5c86c813522b75a9e860b47d
|
|
| BLAKE2b-256 |
bd692135dfb2ddaae921d0ee87922d8c890f9d92b311984296a881c70d9809b3
|
Provenance
The following attestation bundles were made for loom_py_rt_metal-1.0.0rc9-py3-none-macosx_14_0_arm64.whl:
Publisher:
wheels.yml on loom-ai-org/loom-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
loom_py_rt_metal-1.0.0rc9-py3-none-macosx_14_0_arm64.whl -
Subject digest:
53409fe90657e926cfaf6164df35bdcaa8e046797dd16261d0c4c441491f4270 - Sigstore transparency entry: 2796283229
- Sigstore integration time:
-
Permalink:
loom-ai-org/loom-py@330b10ae82d2d3fbb8fb670172b6d2fd583ce036 -
Branch / Tag:
refs/tags/1.0.0-rc9 - Owner: https://github.com/loom-ai-org
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@330b10ae82d2d3fbb8fb670172b6d2fd583ce036 -
Trigger Event:
release
-
Statement type: