vmlinux commited on
Commit
542c6df
·
verified ·
1 Parent(s): 9796a93

Update model card for DFlash runtime and benchmarks

Browse files

Document experimental ROCmFPX runtime requirements, official DFlash provenance, additive files, benchmark speeds, recommended six-token draft window, and cache-rotation patch.

Files changed (4) hide show
  1. PROVENANCE_SHA256SUMS +4 -0
  2. README.md +70 -9
  3. ROCmFPX-Muse-Glimmer.patch +117 -0
  4. SHA256SUMS +3 -0
PROVENANCE_SHA256SUMS CHANGED
@@ -6,3 +6,7 @@ f2d6c59f89a63c7331c768c515a691c7b193f0e55d9083842a13a60134d7654f calibration/Mu
6
  733b6eee371dfe2c49bd338dbf597bcdae1e5297de53cfa98f61a4d7e6e196ae artifacts/Muse-Glimmer-30B-ROCmFP4.gguf
7
  74a5f469f17420d01a837400a2ef19d8191dcb1b479fd7c0be0c862901879915 artifacts/Muse-Glimmer-30B-ROCmFP8.gguf
8
  6b80db6b044d9a3999b539eec140dc4d29279d53c18f42f80a557d3e6736123a artifacts/Muse-Glimmer-30B-ROCmFP4-Q6-QUALITY.gguf
 
 
 
 
 
6
  733b6eee371dfe2c49bd338dbf597bcdae1e5297de53cfa98f61a4d7e6e196ae artifacts/Muse-Glimmer-30B-ROCmFP4.gguf
7
  74a5f469f17420d01a837400a2ef19d8191dcb1b479fd7c0be0c862901879915 artifacts/Muse-Glimmer-30B-ROCmFP8.gguf
8
  6b80db6b044d9a3999b539eec140dc4d29279d53c18f42f80a557d3e6736123a artifacts/Muse-Glimmer-30B-ROCmFP4-Q6-QUALITY.gguf
9
+ fd88d337eb84f8d0e6ba33a7684d7efa6722d4460ba4d6badca9699418392a84 source/Muse-Glimmer-30B-assistant/model.safetensors
10
+ dc4ecbb844a961bbb535a57258085b95e24f54c437599296133aa1a3dbcad891 intermediate/Muse-Glimmer-30B-DFlash-BF16.gguf
11
+ 1e2f0d9de05251b05ed9c6f67f208105b30f0cd51112307a400b59936dd8fc41 artifacts/Muse-Glimmer-30B-DFlash-ROCmFP4.gguf
12
+ ae1d9ffbcbc3af92fbe50ecf62d5892c619ec76b1ca3198e25b240f86a11974f artifacts/Muse-Glimmer-30B-DFlash-ROCmFP8.gguf
README.md CHANGED
@@ -1,5 +1,7 @@
1
  ---
2
- base_model: meta-models/Muse-Glimmer-30B
 
 
3
  base_model_relation: quantized
4
  library_name: llama.cpp
5
  pipeline_tag: image-text-to-text
@@ -16,6 +18,8 @@ tags:
16
  - multimodal
17
  - muse-glimmer
18
  - conversational
 
 
19
  ---
20
 
21
  # Muse-Glimmer-30B ROCmFPX GGUF
@@ -33,9 +37,10 @@ files; read the compatibility section before downloading.
33
  > llama.cpp does not implement the ROCmFP4/ROCmFP8 tensor layouts, while the
34
  > pinned ROCmFPX base predates Muse Glimmer support. Apply the included
35
  > `ROCmFPX-Muse-Glimmer.patch` to ROCmFPX commit `00d54526e…`, then build that
36
- > checkout. The patch adds the upstream Muse text and vision implementation,
37
- > ports it to ROCmFPX's older APIs, and supplies the FP16 sparse-attention mask
38
- > required by its multimodal flash-attention path.
 
39
 
40
  ## Files
41
 
@@ -45,6 +50,11 @@ files; read the compatibility section before downloading.
45
  | `Muse-Glimmer-30B-ROCmFP4-Q6-QUALITY.gguf` | `Q4_0_ROCMFP4_COHERENT` | 14.94 GiB | 4.60 | Yes | 14.0 tok/s |
46
  | `Muse-Glimmer-30B-ROCmFP8.gguf` | `Q8_0_ROCMFPX` | 26.77 GiB | 8.25 | No | 7.8 tok/s |
47
  | `mmproj-Muse-Glimmer-30B-BF16.gguf` | BF16 vision projector | 3.59 GiB | — | — | — |
 
 
 
 
 
48
 
49
  Suggested choices:
50
 
@@ -53,6 +63,10 @@ Suggested choices:
53
  - **ROCmFP4-Q6-QUALITY:** coherence-biased build. Dual-scale FP4 throughout the
54
  body with Q6_K token embeddings.
55
  - **ROCmFP8:** high-fidelity 8.25-bpw reference build.
 
 
 
 
56
 
57
  The BF16 projector works with all three text models.
58
 
@@ -68,6 +82,11 @@ Both FP4 models use the same GGUF importance matrix:
68
  `Q8_0_ROCMFPX` does not consume importance weights, so the FP8 reference was
69
  intentionally built without an iMatrix.
70
 
 
 
 
 
 
71
  ## Compatibility
72
 
73
  These files use experimental ROCmFPX tensor types and **will not load in stock
@@ -81,6 +100,8 @@ The validated runtime was built from:
81
  [`62bf73d25c53b8161f8a22894d4f90c4aebbd7d0`](https://github.com/ggml-org/llama.cpp/commit/62bf73d25c53b8161f8a22894d4f90c4aebbd7d0)
82
  - small compatibility adaptations for the older ROCmFPX chat, model, and
83
  multimodal APIs
 
 
84
 
85
  `ROCmFPX-Muse-Glimmer.patch` contains the complete patch against the pinned
86
  ROCmFPX base. The runtime was built with ROCm and Vulkan backends; the reported
@@ -114,6 +135,7 @@ to the exact pinned commit; `git apply --check` was verified before publishing.
114
  ```bash
115
  hf download vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF \
116
  Muse-Glimmer-30B-ROCmFP4.gguf \
 
117
  mmproj-Muse-Glimmer-30B-BF16.gguf \
118
  --local-dir ./Muse-Glimmer-30B-ROCmFPX
119
  ```
@@ -137,6 +159,23 @@ Vision:
137
  -dev ROCm0 -ngl all -c 8192 -cnv -st
138
  ```
139
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
140
  ## Validation
141
 
142
  All three files completed clean, single-turn ROCm generation with every layer
@@ -154,6 +193,25 @@ These are short smoke-test measurements, not a formal benchmark. Host: AMD
154
  Strix Halo `gfx1151`, 128 GiB unified memory, ROCm backend, 1,024-token text
155
  context (2,048 for vision).
156
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
157
  Additional verification:
158
 
159
  - 731 tensors and `muse-glimmer` architecture in every text GGUF
@@ -162,16 +220,19 @@ Additional verification:
162
  - `test-quantize-fns` and architecture tests passed
163
  - SHA-256 hashes supplied in `SHA256SUMS`
164
 
165
- ## MTP / speculative decoding
166
 
167
- No MTP or DFlash drafter is included. The downloaded base repository contained
168
- the main Muse Glimmer weights but no separate `MuseGlimmerAssistantModel`
169
- checkpoint. The patched runtime includes Muse DFlash loader support for use if
170
- a compatible drafter is published separately.
 
 
171
 
172
  ## Provenance
173
 
174
  - Source revision: `f84ecc3a0ea984a4c04542a84269e3d065350a6e`
 
175
  - Conversion: upstream llama.cpp `d2f83055dca6dd009d8a52bdff792fbb286f4444`
176
  - Every published GGUF is covered by `SHA256SUMS`; source, intermediate, and
177
  calibration hashes are retained in `PROVENANCE_SHA256SUMS`
 
1
  ---
2
+ base_model:
3
+ - meta-models/Muse-Glimmer-30B
4
+ - meta-models/Muse-Glimmer-30B-assistant
5
  base_model_relation: quantized
6
  library_name: llama.cpp
7
  pipeline_tag: image-text-to-text
 
18
  - multimodal
19
  - muse-glimmer
20
  - conversational
21
+ - dflash
22
+ - speculative-decoding
23
  ---
24
 
25
  # Muse-Glimmer-30B ROCmFPX GGUF
 
37
  > llama.cpp does not implement the ROCmFP4/ROCmFP8 tensor layouts, while the
38
  > pinned ROCmFPX base predates Muse Glimmer support. Apply the included
39
  > `ROCmFPX-Muse-Glimmer.patch` to ROCmFPX commit `00d54526e…`, then build that
40
+ > checkout. The patch adds the upstream Muse text, vision, and DFlash support,
41
+ > ports it to ROCmFPX's older APIs, supplies the FP16 sparse-attention mask
42
+ > required by its multimodal flash-attention path, and backports the DFlash
43
+ > injected-cache rotation fix required when using quantized KV caches.
44
 
45
  ## Files
46
 
 
50
  | `Muse-Glimmer-30B-ROCmFP4-Q6-QUALITY.gguf` | `Q4_0_ROCMFP4_COHERENT` | 14.94 GiB | 4.60 | Yes | 14.0 tok/s |
51
  | `Muse-Glimmer-30B-ROCmFP8.gguf` | `Q8_0_ROCMFPX` | 26.77 GiB | 8.25 | No | 7.8 tok/s |
52
  | `mmproj-Muse-Glimmer-30B-BF16.gguf` | BF16 vision projector | 3.59 GiB | — | — | — |
53
+ | `Muse-Glimmer-30B-DFlash-ROCmFP4.gguf` | `Q4_0_ROCMFP4_STRIX` drafter | 1.39 GiB | 4.63 | No | 28.3 tok/s¹ |
54
+ | `Muse-Glimmer-30B-DFlash-ROCmFP8.gguf` | `Q8_0_ROCMFPX` drafter | 2.47 GiB | 8.25 | No | 27.2 tok/s¹ |
55
+
56
+ ¹ End-to-end target decode with `Muse-Glimmer-30B-ROCmFP4.gguf`, DFlash enabled,
57
+ and a six-token draft window; see the benchmark section below.
58
 
59
  Suggested choices:
60
 
 
63
  - **ROCmFP4-Q6-QUALITY:** coherence-biased build. Dual-scale FP4 throughout the
64
  body with Q6_K token embeddings.
65
  - **ROCmFP8:** high-fidelity 8.25-bpw reference build.
66
+ - **DFlash ROCmFP4:** recommended drafter on Strix Halo. It is smaller and was
67
+ slightly faster than the FP8 drafter in the measured six-token configuration.
68
+ - **DFlash ROCmFP8:** higher-precision drafter reference; useful for comparing
69
+ acceptance behavior and tuning on other hardware.
70
 
71
  The BF16 projector works with all three text models.
72
 
 
82
  `Q8_0_ROCMFPX` does not consume importance weights, so the FP8 reference was
83
  intentionally built without an iMatrix.
84
 
85
+ The two DFlash drafters were quantized directly from Meta's official assistant
86
+ checkpoint without an iMatrix. Their role is proposal generation: every draft
87
+ is verified by the main model, so drafter quantization changes acceptance and
88
+ speed rather than bypassing the target model's output decision.
89
+
90
  ## Compatibility
91
 
92
  These files use experimental ROCmFPX tensor types and **will not load in stock
 
100
  [`62bf73d25c53b8161f8a22894d4f90c4aebbd7d0`](https://github.com/ggml-org/llama.cpp/commit/62bf73d25c53b8161f8a22894d4f90c4aebbd7d0)
101
  - small compatibility adaptations for the older ROCmFPX chat, model, and
102
  multimodal APIs
103
+ - the upstream DFlash quantized-cache rotation fix, adapted to this older graph
104
+ API; without it, Q4_0 draft KV caches load but produce near-zero acceptance
105
 
106
  `ROCmFPX-Muse-Glimmer.patch` contains the complete patch against the pinned
107
  ROCmFPX base. The runtime was built with ROCm and Vulkan backends; the reported
 
135
  ```bash
136
  hf download vmlinux/Muse-Glimmer-30B-ROCmFPX-GGUF \
137
  Muse-Glimmer-30B-ROCmFP4.gguf \
138
+ Muse-Glimmer-30B-DFlash-ROCmFP4.gguf \
139
  mmproj-Muse-Glimmer-30B-BF16.gguf \
140
  --local-dir ./Muse-Glimmer-30B-ROCmFPX
141
  ```
 
159
  -dev ROCm0 -ngl all -c 8192 -cnv -st
160
  ```
161
 
162
+ DFlash speculative decoding (recommended starting point):
163
+
164
+ ```bash
165
+ ./llama-cli \
166
+ -m ./Muse-Glimmer-30B-ROCmFPX/Muse-Glimmer-30B-ROCmFP4.gguf \
167
+ --model-draft ./Muse-Glimmer-30B-ROCmFPX/Muse-Glimmer-30B-DFlash-ROCmFP4.gguf \
168
+ --spec-type draft-dflash \
169
+ -dev ROCm0 -ngl all \
170
+ --spec-draft-device ROCm0 --spec-draft-ngl all \
171
+ -ctk q4_0 -ctv q4_0 \
172
+ --spec-draft-type-k q4_0 --spec-draft-type-v q4_0 \
173
+ --spec-draft-n-max 6 --spec-draft-n-min 0 \
174
+ --spec-draft-p-min 0.0 --spec-draft-p-split 0.10 \
175
+ --no-spec-draft-backend-sampling \
176
+ -c 8192 -cnv
177
+ ```
178
+
179
  ## Validation
180
 
181
  All three files completed clean, single-turn ROCm generation with every layer
 
193
  Strix Halo `gfx1151`, 128 GiB unified memory, ROCm backend, 1,024-token text
194
  context (2,048 for vision).
195
 
196
+ ### DFlash benchmark
197
+
198
+ The additive DFlash benchmark used the default ROCmFP4 target, batch size 1,
199
+ greedy decoding, three text prompts, 256 generated tokens per prompt, a
200
+ 2,048-token context, flash attention, full `ROCm0` offload, and Q4_0 target and
201
+ draft KV caches. Values are arithmetic means of the three runs.
202
+
203
+ | Mode | Draft window | Decode | Speedup | Per-prompt range | Weighted draft acceptance |
204
+ | --- | ---: | ---: | ---: | ---: | ---: |
205
+ | No speculation | — | 13.7 tok/s | 1.00× | 13.7–13.7 | — |
206
+ | DFlash ROCmFP4 | 6 | **28.3 tok/s** | **2.07×** | 24.3–31.8 | 35.8% (519/1,448) |
207
+ | DFlash ROCmFP8 | 6 | 27.2 tok/s | 1.99× | 24.1–33.0 | 35.7% (519/1,454) |
208
+ | DFlash ROCmFP4 | 15 | 24.6 tok/s | 1.80× | 18.5–30.7 | 17.1% (543/3,171) |
209
+ | DFlash ROCmFP8 | 15 | 26.3 tok/s | 1.92× | 19.2–34.6 | 19.5% (563/2,891) |
210
+
211
+ This is a small local throughput benchmark, not a universal performance claim.
212
+ Acceptance depends strongly on prompt and generation content. Six draft tokens
213
+ was the best tested practical default on this host; tune it for your workload.
214
+
215
  Additional verification:
216
 
217
  - 731 tensors and `muse-glimmer` architecture in every text GGUF
 
220
  - `test-quantize-fns` and architecture tests passed
221
  - SHA-256 hashes supplied in `SHA256SUMS`
222
 
223
+ ## DFlash, not MTP
224
 
225
+ These new companion files are converted from Meta's official
226
+ [`Muse-Glimmer-30B-assistant`](https://huggingface.co/meta-models/Muse-Glimmer-30B-assistant)
227
+ checkpoint. It is a five-layer `MuseGlimmerAssistantModel` using DFlash block
228
+ diffusion with a trained block size of 16. Run it with
229
+ `--spec-type draft-dflash`; it is not an MTP checkpoint and should not be run
230
+ with `draft-mtp`.
231
 
232
  ## Provenance
233
 
234
  - Source revision: `f84ecc3a0ea984a4c04542a84269e3d065350a6e`
235
+ - DFlash source revision: `2c86316d689027b91123638739743fef1d425233`
236
  - Conversion: upstream llama.cpp `d2f83055dca6dd009d8a52bdff792fbb286f4444`
237
  - Every published GGUF is covered by `SHA256SUMS`; source, intermediate, and
238
  calibration hashes are retained in `PROVENANCE_SHA256SUMS`
ROCmFPX-Muse-Glimmer.patch CHANGED
@@ -544,6 +544,66 @@ index 3200a993b..5b2e0b7ab 100644
544
  ),
545
 
546
  MODEL_TENSOR.V_MM_POST_NORM: (
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
547
  diff --git a/src/llama-arch.cpp b/src/llama-arch.cpp
548
  index 17908449b..1d9552074 100644
549
  --- a/src/llama-arch.cpp
@@ -601,6 +661,63 @@ index c33f8c247..594affda4 100644
601
  case LLM_ARCH_PLM:
602
  case LLM_ARCH_CHATGLM:
603
  case LLM_ARCH_GRANITE:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
604
  diff --git a/src/models/models.h b/src/models/models.h
605
  index 5cc93e6b9..cb3b4d4ad 100644
606
  --- a/src/models/models.h
 
544
  ),
545
 
546
  MODEL_TENSOR.V_MM_POST_NORM: (
547
+ diff --git a/scripts/convert_hf_to_gguf_modular.py b/scripts/convert_hf_to_gguf_modular.py
548
+ new file mode 100644
549
+ index 000000000..ec01d29a5
550
+ --- /dev/null
551
+ +++ b/scripts/convert_hf_to_gguf_modular.py
552
+ @@ -0,0 +1,54 @@
553
+ +#!/usr/bin/env python3
554
+ +"""Convert models implemented by ROCmFPX's modular conversion package."""
555
+ +
556
+ +from __future__ import annotations
557
+ +
558
+ +import argparse
559
+ +import logging
560
+ +from pathlib import Path
561
+ +import sys
562
+ +
563
+ +sys.path.insert(0, str(Path(__file__).resolve().parents[1]))
564
+ +
565
+ +from conversion import ModelType, get_model_architecture, get_model_class
566
+ +from conversion.base import ModelBase, gguf
567
+ +
568
+ +
569
+ +def main() -> None:
570
+ + parser = argparse.ArgumentParser(
571
+ + description="Convert a Hugging Face checkpoint using ROCmFPX's modular converter."
572
+ + )
573
+ + parser.add_argument("model", type=Path)
574
+ + parser.add_argument("--outfile", type=Path, required=True)
575
+ + parser.add_argument("--outtype", choices=["f16", "bf16", "auto"], default="auto")
576
+ + parser.add_argument("--target-model-dir", type=Path, default=None)
577
+ + parser.add_argument("--dry-run", action="store_true")
578
+ + parser.add_argument("--use-temp-file", action="store_true")
579
+ + args = parser.parse_args()
580
+ +
581
+ + logging.basicConfig(level=logging.INFO)
582
+ +
583
+ + ftype_map = {
584
+ + "f16": gguf.LlamaFileType.MOSTLY_F16,
585
+ + "bf16": gguf.LlamaFileType.MOSTLY_BF16,
586
+ + "auto": gguf.LlamaFileType.GUESSED,
587
+ + }
588
+ +
589
+ + hparams = ModelBase.load_hparams(args.model, False)
590
+ + arch = get_model_architecture(hparams, ModelType.TEXT)
591
+ + logging.getLogger("hf-to-gguf").info("Model architecture: %s", arch)
592
+ + model_class = get_model_class(arch, mmproj=False)
593
+ +
594
+ + model = model_class(
595
+ + args.model,
596
+ + ftype_map[args.outtype],
597
+ + args.outfile,
598
+ + use_temp_file=args.use_temp_file,
599
+ + dry_run=args.dry_run,
600
+ + target_model_dir=args.target_model_dir,
601
+ + )
602
+ + model.write()
603
+ +
604
+ +
605
+ +if __name__ == "__main__":
606
+ + main()
607
  diff --git a/src/llama-arch.cpp b/src/llama-arch.cpp
608
  index 17908449b..1d9552074 100644
609
  --- a/src/llama-arch.cpp
 
661
  case LLM_ARCH_PLM:
662
  case LLM_ARCH_CHATGLM:
663
  case LLM_ARCH_GRANITE:
664
+ diff --git a/src/models/dflash.cpp b/src/models/dflash.cpp
665
+ index e195ccfda..5142f45b0 100644
666
+ --- a/src/models/dflash.cpp
667
+ +++ b/src/models/dflash.cpp
668
+ @@ -7,6 +7,28 @@
669
+ #include <stdexcept>
670
+ #include <vector>
671
+
672
+ +// K/V caches can be stored in a rotated basis (notably for quantized cache
673
+ +// types). DFlash injects K/V directly instead of going through build_attn(), so
674
+ +// apply the cache rotation explicitly before copying the projected tensors.
675
+ +// This is the pre-llama-impl.h equivalent of llama_mul_mat_hadamard().
676
+ +static ggml_tensor * dflash_mul_mat_hadamard(
677
+ + ggml_context * ctx,
678
+ + ggml_tensor * cur,
679
+ + ggml_tensor * rot) {
680
+ + const auto n = rot->ne[0];
681
+ +
682
+ + ggml_tensor * res;
683
+ + if (!ggml_is_contiguous(cur)) {
684
+ + res = ggml_cont_2d(ctx, cur, n, ggml_nelements(cur)/n);
685
+ + } else {
686
+ + res = ggml_reshape_2d(ctx, cur, n, ggml_nelements(cur)/n);
687
+ + }
688
+ + res = ggml_mul_mat(ctx, rot, res);
689
+ + ggml_mul_mat_set_hint(res, GGML_HINT_SRC0_IS_HADAMARD);
690
+ +
691
+ + return ggml_reshape_4d(ctx, res, cur->ne[0], cur->ne[1], cur->ne[2], cur->ne[3]);
692
+ +}
693
+ +
694
+ void llama_model_dflash::load_arch_hparams(llama_model_loader & ml) {
695
+ ml.get_key(LLM_KV_ATTENTION_LAYERNORM_RMS_EPS, hparams.f_norm_rms_eps);
696
+
697
+ @@ -422,9 +444,23 @@ llama_model_dflash::graph<false>::graph(const llama_model & model, const llm_gra
698
+ const auto * kv = is_swa ? inp_attn_iswa->mctx->get_swa() : inp_attn_iswa->mctx->get_base();
699
+ ggml_tensor * k_idxs = is_swa ? inp_attn_iswa->get_k_idxs_swa() : inp_attn_iswa->get_k_idxs();
700
+ ggml_tensor * v_idxs = is_swa ? inp_attn_iswa->get_v_idxs_swa() : inp_attn_iswa->get_v_idxs();
701
+ + ggml_tensor * k_rot = is_swa ? inp_attn_iswa->self_k_rot_swa : inp_attn_iswa->self_k_rot;
702
+ + ggml_tensor * v_rot = is_swa ? inp_attn_iswa->self_v_rot_swa : inp_attn_iswa->self_v_rot;
703
+ + if (k_rot) {
704
+ + Kcur = dflash_mul_mat_hadamard(ctx0, Kcur, k_rot);
705
+ + }
706
+ + if (v_rot) {
707
+ + Vcur = dflash_mul_mat_hadamard(ctx0, Vcur, v_rot);
708
+ + }
709
+ ggml_build_forward_expand(gf, kv->cpy_k(ctx0, Kcur, k_idxs, il));
710
+ ggml_build_forward_expand(gf, kv->cpy_v(ctx0, Vcur, v_idxs, il));
711
+ } else {
712
+ + if (inp_attn->self_k_rot) {
713
+ + Kcur = dflash_mul_mat_hadamard(ctx0, Kcur, inp_attn->self_k_rot);
714
+ + }
715
+ + if (inp_attn->self_v_rot) {
716
+ + Vcur = dflash_mul_mat_hadamard(ctx0, Vcur, inp_attn->self_v_rot);
717
+ + }
718
+ ggml_build_forward_expand(gf, inp_attn->mctx->cpy_k(ctx0, Kcur, inp_attn->get_k_idxs(), il));
719
+ ggml_build_forward_expand(gf, inp_attn->mctx->cpy_v(ctx0, Vcur, inp_attn->get_v_idxs(), il));
720
+ }
721
  diff --git a/src/models/models.h b/src/models/models.h
722
  index 5cc93e6b9..cb3b4d4ad 100644
723
  --- a/src/models/models.h
SHA256SUMS CHANGED
@@ -2,3 +2,6 @@
2
  6b80db6b044d9a3999b539eec140dc4d29279d53c18f42f80a557d3e6736123a Muse-Glimmer-30B-ROCmFP4-Q6-QUALITY.gguf
3
  74a5f469f17420d01a837400a2ef19d8191dcb1b479fd7c0be0c862901879915 Muse-Glimmer-30B-ROCmFP8.gguf
4
  3727a47650ae65be12e91aae49f9b9f4bef09dc6c401a54ca1bd3d1a6160f35a mmproj-Muse-Glimmer-30B-BF16.gguf
 
 
 
 
2
  6b80db6b044d9a3999b539eec140dc4d29279d53c18f42f80a557d3e6736123a Muse-Glimmer-30B-ROCmFP4-Q6-QUALITY.gguf
3
  74a5f469f17420d01a837400a2ef19d8191dcb1b479fd7c0be0c862901879915 Muse-Glimmer-30B-ROCmFP8.gguf
4
  3727a47650ae65be12e91aae49f9b9f4bef09dc6c401a54ca1bd3d1a6160f35a mmproj-Muse-Glimmer-30B-BF16.gguf
5
+ 1e2f0d9de05251b05ed9c6f67f208105b30f0cd51112307a400b59936dd8fc41 Muse-Glimmer-30B-DFlash-ROCmFP4.gguf
6
+ ae1d9ffbcbc3af92fbe50ecf62d5892c619ec76b1ca3198e25b240f86a11974f Muse-Glimmer-30B-DFlash-ROCmFP8.gguf
7
+ 0e15099778bf88ef2ec56e6076369321cd10a93f159caa97d676b5c0008d2750 ROCmFPX-Muse-Glimmer.patch