La versión llama.cpp b9933 aborda problemas críticos de OpenCL que causaban salida corrupta para pesos cuantizados Q6_K cuando la dimensión ne01 no es múltiplo de 128. Este error afectó a modelos como granite-3.1-3b-a800m-instruct, donde tamaños de vocabulario impares desencadenaban un manejo incorrecto de memoria en GPUs Adreno.
La corrección desvía la multiplicación densa de matrices lejos de la ruta noshuffle cuando ne01 % 128 != 0, usando GEMV plano para la decodificación y recurriendo a CPU para otras formas. Además, la versión implementa get_alloc_size para búferes OpenCL para reservar holgura de alineación, previniendo superposiciones de subbúferes que corrompían silenciosamente tensores vecinos.
Esta actualización asegura resultados de inferencia correctos en dispositivos con restricciones específicas de alineación y previene la corrupción de memoria en el manejo de pesos cuantizados.