embeddinggemma.c v0.2.1
Superseded by v0.2.2, which replaces the SM86-only CUDA asset with a portable CUDA fat binary.
This patch release corrects binary packaging and makes the Metal server a
single self-contained executable. Release assets are raw executables, not
tarballs. GitHub provides the source .tar.gz and .zip archives separately.
Binaries
embeddinggemma-darwin-arm64-cpu: Apple Silicon CPU server.embeddinggemma-darwin-arm64-metal: Apple Silicon Metal server with all
Metal kernels embedded in the executable.embeddinggemma-linux-x86_64-cpu: Linux x86-64 CPU server.embeddinggemma-linux-x86_64-cuda-sm86: Linux x86-64 CUDA server compiled
for NVIDIA SM86 GPUs.SHA256SUMS: SHA-256 checksums for the four executables.
Downloaded executables may need chmod +x <filename> before use. Model weights
are not included.
The Darwin binaries target macOS 14.0 or newer and are ad-hoc signed. The Linux
binaries were built on Ubuntu 24.04 and dynamically use system libcurl. The
CUDA binary additionally requires CUDA 12 libraries and an NVIDIA driver; it
was built with CUDA 12.9 and validated on an RTX 3090.
Metal Build
make metal now compiles all .metal translation units into one metallib and
automatically embeds it in the final Mach-O executable. No colocated
embeddinggemma.metallib file is needed at runtime. EI_METALLIB_PATH remains
available as a diagnostic override.
Validation
- CPU, Metal, and CUDA pass all 10 llama.cpp golden embeddings.
- CPU, Metal, and CUDA pass packed-batch parity.
- HTTP Matryoshka dimensions 768, 512, 256, and 128 pass using every stripped
release executable. - Metal passes the full backend parity suite without a metallib sidecar.
- CUDA attention, QKV epilogue, Q4 MMA, and Q8 latency route parity pass.