O lançamento llama.cpp b9933 aborda problemas críticos do OpenCL que causavam saída corrompida para pesos quantizados Q6_K quando a dimensão ne01 não é múltipla de 128. Este bug afetou modelos como granite-3.1-3b-a800m-instruct, onde tamanhos de vocabulário ímpares acionavam tratamento incorreto de memória em GPUs Adreno.
A correção desvia a multiplicação densa de matrizes do caminho noshuffle quando ne01 % 128 != 0, usando GEMV plano para decodificação e caindo de volta para CPU para outras formas. Além disso, o lançamento implementa get_alloc_size para buffers OpenCL para reservar folga de alinhamento, prevenindo sobreposições de subbuffers que corrompiam silenciosamente tensores vizinhos.
Esta atualização garante resultados de inferência corretos em dispositivos com restrições específicas de alinhamento e previne corrupção de memória no manuseio de pesos quantizados.