mlx-native 0.3.2

Pure-Rust Metal GPU compute library for MLX-compatible inference on Apple Silicon
Documentation
[package]
name = "mlx-native"
version = "0.3.2"
edition = "2021"
rust-version = "1.81.0"
description = "Pure-Rust Metal GPU compute library for MLX-compatible inference on Apple Silicon"
license = "MIT"
authors = ["mlx-native contributors"]
repository = "https://github.com/robertelee78/mlx-native"
homepage = "https://github.com/robertelee78/mlx-native"
documentation = "https://docs.rs/mlx-native"
readme = "README.md"
keywords = ["metal", "gpu", "mlx", "inference", "apple-silicon"]
categories = ["os::macos-apis", "science"]
exclude = [".claude/", "_bmad/", "_bmad-output/", "docs/", ".github/"]

[package.metadata.docs.rs]
default-target = "aarch64-apple-darwin"
targets = ["aarch64-apple-darwin", "x86_64-apple-darwin"]
all-features = true

[lib]
name = "mlx_native"
path = "src/lib.rs"

[dependencies]
metal = "0.33"
objc = "0.2"
thiserror = "2"
bytemuck = { version = "1", features = ["derive"] }
safetensors = "0.7"
memmap2 = "0.9"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
half = { version = "2", features = ["bytemuck"] }

[dev-dependencies]
static_assertions = "1"
criterion = { version = "0.5", features = ["html_reports"] }

[package.metadata.release]
# Run semver checks before publishing to catch accidental breaking changes.
pre-release-hook = ["cargo", "semver-checks"]
# Tag format: v0.1.0, v0.2.0, etc.
tag-prefix = "v"
tag-name = "{{prefix}}{{version}}"
# Push tag and commits to remote after publish.
push-remote = "origin"

[[bench]]
name = "bench_quantized_matmul"
harness = false

[[bench]]
name = "bench_sdpa"
harness = false

[[bench]]
name = "bench_moe_dispatch"
harness = false

[[bench]]
name = "bench_gather"
harness = false

[[bench]]
name = "bench_hadamard"
harness = false