# llama.cpp fixes Vulkan NVFP4 scale lookup bug

> Release b12073 expands a shared lookup table to prevent out-of-bounds reads for certain scale bytes. Each affected pipeline uses 512 more bytes of shared memory.

Oossa · 2026-11-03 · https://oossa.com/en/llama-cpp-fixes-vulkan-nvfp4-scale-lookup-bug

The llama.cpp b12073 release fixes a Vulkan bug in how NVFP4 data looks up UE4M3 scale values. Certain scale bytes could make the code read beyond a shared-memory lookup table, because the table had 128 entries while the raw byte could represent 256 values.

The fix expands the table and its memory budgets to 256 entries. Each NVFP4 pipeline uses 512 more bytes of shared memory. The release notes say models quantized by llama.cpp are unaffected, because its conversion code does not set the bit that triggers the out-of-bounds lookup.

## The facts

- The fix is in llama.cpp release b12073.
- Each NVFP4 pipeline uses 512 additional bytes of shared memory.

## Why it matters

People running NVFP4 workloads on Vulkan get protection from an out-of-bounds lookup, while llama.cpp-quantized models are not affected by the bug, according to the release notes.

## Sources & references

1. [ggml-org/llama.cpp b12073](https://github.com/ggml-org/llama.cpp/releases/tag/b12073) – llama.cpp, 2026-11-03

Last updated: 2026-11-03
