L’ANALISI
llama.cpp OpenCL: MUL_MAT_ID F32 e limiti dei test
llama.cpp b12213 aggiunge MUL_MAT_ID F32 su OpenCL e gestisce l’indice -1. La PR lo collega ai test delle architetture, non a uno speedup.

In breve: llama.cpp b12213 introduce l’operazione MUL_MAT_ID in F32 nel backend OpenCL. La PR la collega a test-llama-archs e il diff aggiunge kernel matrice-vettore e matrice-matrice con gestione dell’indice -1. Non dimostra uno speedup generale né nuovi pesi. PR 31783: supporto F32 di MUL_MAT_ID su OpenCL.
Verifica del 9 novembre 2026 su pagina ufficiale del tag, PR integrata e diff. L’API della release b12213 ha restituito 404, mentre la pagina HTML ufficiale è raggiungibile: non viene dedotto uno stato stable dall’esistenza del tag. Nessun test OpenCL su dispositivo eseguito.
Quale operazione è stata aggiunta?
La modifica riguarda MUL_MAT_ID nel backend OpenCL, con kernel F32 per i percorsi matrice-vettore e matrice-matrice. Il codice seleziona i dati attraverso gli identificativi degli esperti. Questo delimita la novità: un’operazione del runtime diventa disponibile in un percorso specifico, non nasce una nuova famiglia di modelli.
PR 31783: supporto F32 di MUL_MAT_ID su OpenCL · Diff dei kernel e del caricamento OpenCL.
Perché conta l’indice -1?
Il changelog cita esplicitamente la gestione di -1. Nel kernel matrice-vettore, il ramo corrispondente scrive zeri e termina prima di usare l’indice per leggere l’esperto; il percorso matrice-matrice controlla gli identificativi di route prima delle letture e delle scritture. Sono dettagli di correttezza e dei casi limite, non percentuali di accelerazione.
Diff dei kernel e del caricamento OpenCL.
Che cosa serve ai test delle architetture?
L’autore presenta l’aggiunta come utile per test-llama-archs. Il diff include i nuovi kernel nella configurazione di compilazione e sposta il caricamento di moe_sort_by_expert in un percorso generale. La lettura del codice documenta questi cambiamenti; per dire che una precisa architettura supera il test servono però il risultato, la build e il dispositivo usati.
PR 31783: supporto F32 di MUL_MAT_ID su OpenCL · Diff dei kernel e del caricamento OpenCL.
Come scegliere una prova utile sul proprio dispositivo?
Prima individua se il problema riproducibile coinvolge davvero OpenCL e MUL_MAT_ID. Conserva modello, precisione, input e log, poi confronta la build precedente con il commit integrato in un ambiente isolato. Misura correttezza e percorso del backend prima del throughput. Non estendere automaticamente il risultato F32 a Q4, Q8 o a tutte le GPU.
PR 31783: supporto F32 di MUL_MAT_ID su OpenCL · Diff dei kernel e del caricamento OpenCL.
Checklist pratica
- Conferma che l’esecuzione usi davvero OpenCL.
- Annota driver, dispositivo, build, modello e precisione senza cambiare più variabili insieme.
- Verifica la disponibilità del commit 53eb669 e dei kernel nel pacchetto scelto.
- Conserva un caso riproducibile, includendo gli identificativi non validi se pertinenti.
- Separa esito del test, eventuale fallback e misura di velocità; conserva i log e la build precedente.
Condizioni e limitazioni
Nessun benchmark indipendente, nessuna misura di velocità e nessuna garanzia per ogni GPU o modello. Pagina del tag verificata; stato stable della release non attestato dall’API.