Skip to main content
Pre-release

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

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

loom_py_rt_metal-1.0.0rc9-py3-none-macosx_14_0_arm64.whl (179.1 kB view details)

Uploaded Python 3macOS 14.0+ ARM64

File details

Details for the file loom_py_rt_metal-1.0.0rc9-py3-none-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for loom_py_rt_metal-1.0.0rc9-py3-none-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 53409fe90657e926cfaf6164df35bdcaa8e046797dd16261d0c4c441491f4270
MD5 3bbf3eda5c86c813522b75a9e860b47d
BLAKE2b-256 bd692135dfb2ddaae921d0ee87922d8c890f9d92b311984296a881c70d9809b3

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.0.0rc9 This release

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page