--- base_model: - meta-models/Muse-Glimmer-30B - meta-models/Muse-Glimmer-30B-assistant base_model_relation: quantized library_name: llama.cpp pipeline_tag: image-text-to-text license: apache-2.0 tags: - gguf - llama.cpp - rocm - rocmfpx - amd - strix-halo - gfx1151 - imatrix - multimodal - muse-glimmer - conversational - dflash - speculative-decoding --- # Muse-Glimmer-30B ROCmFPX GGUF ROCmFP4 and ROCmFP8 builds of [meta-models/Muse-Glimmer-30B](https://huggingface.co/meta-models/Muse-Glimmer-30B), targeted and tested on AMD Strix Halo (`gfx1151`). Rawr. šŸ¦– At publication time, a Hub search returned no other Muse Glimmer ROCmFPX repositories. These are custom ROCmFPX formats, not ordinary llama.cpp Q4/Q8 files; read the compatibility section before downloading. > **Experimental runtime required:** these GGUFs need a patched build of > [charlie12345/ROCmFPX](https://github.com/charlie12345/ROCmFPX). Stock > llama.cpp does not implement the ROCmFP4/ROCmFP8 tensor layouts, while the > pinned ROCmFPX base predates Muse Glimmer support. Apply the included > [`ROCmFPX-Muse-Glimmer.patch`](https://huggingface.co/vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF/blob/main/ROCmFPX-Muse-Glimmer.patch) > to ROCmFPX commit `00d54526e…`, then build that > checkout. The patch adds the upstream Muse text, vision, and DFlash support, > ports it to ROCmFPX's older APIs, supplies the FP16 sparse-attention mask > required by its multimodal flash-attention path, and backports the DFlash > injected-cache rotation fix required when using quantized KV caches. ## Files Click a filename to download it directly from the Hub. | File | ROCmFPX preset | Size | BPW | iMatrix | Prompt t/s | Output t/s | | --- | --- | ---: | ---: | --- | ---: | ---: | | [`Muse-Glimmer-30B-ROCmFP4.gguf`](https://huggingface.co/vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF/resolve/main/Muse-Glimmer-30B-ROCmFP4.gguf?download=true) | `Q4_0_ROCMFP4_STRIX` | 14.17 GiB | 4.36 | Yes | 113.7 | 14.9 | | [`Muse-Glimmer-30B-ROCmFP4-Q6-QUALITY.gguf`](https://huggingface.co/vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF/resolve/main/Muse-Glimmer-30B-ROCmFP4-Q6-QUALITY.gguf?download=true) | `Q4_0_ROCMFP4_COHERENT` | 14.94 GiB | 4.60 | Yes | 39.0 | 14.0 | | [`Muse-Glimmer-30B-ROCmFP8.gguf`](https://huggingface.co/vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF/resolve/main/Muse-Glimmer-30B-ROCmFP8.gguf?download=true) | `Q8_0_ROCMFPX` | 26.77 GiB | 8.25 | No | 96.7 | 7.8 | | [`mmproj-Muse-Glimmer-30B-BF16.gguf`](https://huggingface.co/vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF/resolve/main/mmproj-Muse-Glimmer-30B-BF16.gguf?download=true) | BF16 vision projector | 3.59 GiB | — | — | 81.7 | 14.9 | | [`Muse-Glimmer-30B-DFlash-ROCmFP4.gguf`](https://huggingface.co/vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF/resolve/main/Muse-Glimmer-30B-DFlash-ROCmFP4.gguf?download=true) | `Q4_0_ROCMFP4_STRIX` drafter | 1.39 GiB | 4.63 | No | 65.5¹ | **28.3¹** | | [`Muse-Glimmer-30B-DFlash-ROCmFP8.gguf`](https://huggingface.co/vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF/resolve/main/Muse-Glimmer-30B-DFlash-ROCmFP8.gguf?download=true) | `Q8_0_ROCMFPX` drafter | 2.47 GiB | 8.25 | No | 65.1¹ | 27.2¹ | ¹ End-to-end target measurement with `Muse-Glimmer-30B-ROCmFP4.gguf`, DFlash enabled, and a six-token draft window. These are three-run means; the main-model and projector rows are the earlier short smoke tests described under Validation. Suggested choices: - **ROCmFP4:** default Strix Halo speed/quality build. Fast FP4 body, dual-scale FP4 attention K/V, and Q6_K token embeddings. - **ROCmFP4-Q6-QUALITY:** coherence-biased build. Dual-scale FP4 throughout the body with Q6_K token embeddings. - **ROCmFP8:** high-fidelity 8.25-bpw reference build. - **DFlash ROCmFP4:** recommended drafter on Strix Halo. It is smaller and was slightly faster than the FP8 drafter in the measured six-token configuration. - **DFlash ROCmFP8:** higher-precision drafter reference; useful for comparing acceptance behavior and tuning on other hardware. The BF16 projector works with all three text models. ## iMatrix Both FP4 models use the same GGUF importance matrix: - 500 chunks Ɨ 512 tokens (approximately 256k calibration tokens) - 416 tensor importance entries consumed by each quantizer - varied narrative/general-language calibration corpus - checkpoints saved every 100 chunks `Q8_0_ROCMFPX` does not consume importance weights, so the FP8 reference was intentionally built without an iMatrix. The two DFlash drafters were quantized directly from Meta's official assistant checkpoint without an iMatrix. Their role is proposal generation: every draft is verified by the main model, so drafter quantization changes acceptance and speed rather than bypassing the target model's output decision. ## Compatibility These files use experimental ROCmFPX tensor types and **will not load in stock llama.cpp**. The validated runtime was built from: - [ROCmFPX](https://github.com/charlie12345/ROCmFPX) base commit `00d54526e24e3aba4c76474e3147cbf9c7cc034c` - upstream llama.cpp Muse support commit [`62bf73d25c53b8161f8a22894d4f90c4aebbd7d0`](https://github.com/ggml-org/llama.cpp/commit/62bf73d25c53b8161f8a22894d4f90c4aebbd7d0) - small compatibility adaptations for the older ROCmFPX chat, model, and multimodal APIs - the upstream DFlash quantized-cache rotation fix, adapted to this older graph API; without it, Q4_0 draft KV caches load but produce near-zero acceptance [ROCmFPX-Muse-Glimmer.patch](https://huggingface.co/vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF/blob/main/ROCmFPX-Muse-Glimmer.patch) contains the complete patch against the pinned ROCmFPX base. The runtime was built with ROCm and Vulkan backends; the reported generation tests used `ROCm0` on `gfx1151`. Minimal runtime setup: ```bash git clone https://github.com/charlie12345/ROCmFPX.git cd ROCmFPX git checkout 00d54526e24e3aba4c76474e3147cbf9c7cc034c hf download vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF \ ROCmFPX-Muse-Glimmer.patch \ --local-dir /tmp/muse-glimmer-rocmfpx git apply /tmp/muse-glimmer-rocmfpx/ROCmFPX-Muse-Glimmer.patch BUILD_DIR=build-muse-rocmfpx \ JOBS=16 \ CMAKE_HIP_COMPILER=/opt/rocm-7.2.0/lib/llvm/bin/clang++ \ GGML_HIP_ROCWMMA_FATTN=OFF \ ./scripts/build-strix-rocmfp4-mtp.sh ``` Adjust `CMAKE_HIP_COMPILER` for the installed ROCm version. The resulting runtime binaries are under `build-muse-rocmfpx/bin/`. The patch must be applied to the exact pinned commit; `git apply --check` was verified before publishing. ## Download and run ```bash hf download vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF \ Muse-Glimmer-30B-ROCmFP4.gguf \ Muse-Glimmer-30B-DFlash-ROCmFP4.gguf \ mmproj-Muse-Glimmer-30B-BF16.gguf \ --local-dir ./Muse-Glimmer-30B-ROCmFPX ``` Text: ```bash ./llama-cli \ -m ./Muse-Glimmer-30B-ROCmFPX/Muse-Glimmer-30B-ROCmFP4.gguf \ -dev ROCm0 -ngl all -c 8192 -cnv ``` Vision: ```bash ./llama-cli \ -m ./Muse-Glimmer-30B-ROCmFPX/Muse-Glimmer-30B-ROCmFP4.gguf \ -mm ./Muse-Glimmer-30B-ROCmFPX/mmproj-Muse-Glimmer-30B-BF16.gguf \ --image ./image.png \ -p "Describe this image." \ -dev ROCm0 -ngl all -c 8192 -cnv -st ``` DFlash speculative decoding (recommended starting point): ```bash ./llama-cli \ -m ./Muse-Glimmer-30B-ROCmFPX/Muse-Glimmer-30B-ROCmFP4.gguf \ --model-draft ./Muse-Glimmer-30B-ROCmFPX/Muse-Glimmer-30B-DFlash-ROCmFP4.gguf \ --spec-type draft-dflash \ -dev ROCm0 -ngl all \ --spec-draft-device ROCm0 --spec-draft-ngl all \ -ctk q4_0 -ctv q4_0 \ --spec-draft-type-k q4_0 --spec-draft-type-v q4_0 \ --spec-draft-n-max 6 --spec-draft-n-min 0 \ --spec-draft-p-min 0.0 --spec-draft-p-split 0.10 \ --no-spec-draft-backend-sampling \ -c 8192 -cnv ``` ## Validation All three files completed clean, single-turn ROCm generation with every layer offloaded. The projector completed an end-to-end image test and correctly identified the test image as a folder icon. | Model | Prompt processing | Token generation | | --- | ---: | ---: | | ROCmFP4 | 113.7 tok/s | 14.9 tok/s | | ROCmFP4-Q6-QUALITY | 39.0 tok/s | 14.0 tok/s | | ROCmFP8 | 96.7 tok/s | 7.8 tok/s | | ROCmFP4 + BF16 projector | 81.7 tok/s | 14.9 tok/s | These are short smoke-test measurements, not a formal benchmark. Host: AMD Strix Halo `gfx1151`, 128 GiB unified memory, ROCm backend, 1,024-token text context (2,048 for vision). ### DFlash benchmark The additive DFlash benchmark used the default ROCmFP4 target, batch size 1, greedy decoding, three text prompts, 256 generated tokens per prompt, a 2,048-token context, flash attention, full `ROCm0` offload, and Q4_0 target and draft KV caches. Values are arithmetic means of the three runs. | Mode | Draft window | Prompt t/s | Output t/s | Speedup | Output range | Weighted draft acceptance | | --- | ---: | ---: | ---: | ---: | ---: | ---: | | No speculation | — | 73.7 | 13.7 | 1.00Ɨ | 13.7–13.7 | — | | DFlash ROCmFP4 | 6 | 65.5 | **28.3** | **2.07Ɨ** | 24.3–31.8 | 35.8% (519/1,448) | | DFlash ROCmFP8 | 6 | 65.1 | 27.2 | 1.99Ɨ | 24.1–33.0 | 35.7% (519/1,454) | | DFlash ROCmFP4 | 15 | 65.6 | 24.6 | 1.80Ɨ | 18.5–30.7 | 17.1% (543/3,171) | | DFlash ROCmFP8 | 15 | 65.3 | 26.3 | 1.92Ɨ | 19.2–34.6 | 19.5% (563/2,891) | Raw llama.cpp throughput lines for all 15 benchmark runs: | Mode | Window | Prompt 1 `[Prompt \| Output]` | Prompt 2 `[Prompt \| Output]` | Prompt 3 `[Prompt \| Output]` | | --- | ---: | ---: | ---: | ---: | | No speculation | — | 55.3 t/s \| 13.7 t/s | 83.5 t/s \| 13.7 t/s | 82.4 t/s \| 13.7 t/s | | DFlash ROCmFP4 | 6 | 50.3 t/s \| 28.8 t/s | 73.7 t/s \| 24.3 t/s | 72.5 t/s \| 31.8 t/s | | DFlash ROCmFP8 | 6 | 50.2 t/s \| 24.6 t/s | 73.4 t/s \| 24.1 t/s | 71.8 t/s \| 33.0 t/s | | DFlash ROCmFP4 | 15 | 50.2 t/s \| 24.6 t/s | 74.2 t/s \| 18.5 t/s | 72.5 t/s \| 30.7 t/s | | DFlash ROCmFP8 | 15 | 50.4 t/s \| 25.2 t/s | 73.5 t/s \| 19.2 t/s | 72.1 t/s \| 34.6 t/s | This is a small local throughput benchmark, not a universal performance claim. Acceptance depends strongly on prompt and generation content. Six draft tokens was the best tested practical default on this host; tune it for your workload. Additional verification: - 731 tensors and `muse-glimmer` architecture in every text GGUF - 809 tensors and 50 vision blocks in the projector - ROCmFP4 kernel copy/conversion tests: 34/34 passed on Vulkan - `test-quantize-fns` and architecture tests passed - SHA-256 hashes supplied in `SHA256SUMS` ## DFlash, not MTP These new companion files are converted from Meta's official [`Muse-Glimmer-30B-assistant`](https://huggingface.co/meta-models/Muse-Glimmer-30B-assistant) checkpoint. It is a five-layer `MuseGlimmerAssistantModel` using DFlash block diffusion with a trained block size of 16. Run it with `--spec-type draft-dflash`; it is not an MTP checkpoint and should not be run with `draft-mtp`. ## Provenance - Source revision: `f84ecc3a0ea984a4c04542a84269e3d065350a6e` - DFlash source revision: `2c86316d689027b91123638739743fef1d425233` - Conversion: upstream llama.cpp `d2f83055dca6dd009d8a52bdff792fbb286f4444` - Every published GGUF is covered by [`SHA256SUMS`](https://huggingface.co/vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF/blob/main/SHA256SUMS); source, intermediate, and calibration hashes are retained in [`PROVENANCE_SHA256SUMS`](https://huggingface.co/vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF/blob/main/PROVENANCE_SHA256SUMS) - Detailed local build report: [`BUILD_RESULTS.md`](https://huggingface.co/vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF/blob/main/BUILD_RESULTS.md) The original model license and usage policy apply. See the [source model card](https://huggingface.co/meta-models/Muse-Glimmer-30B) before use.