A mais recente compilação do llama.cpp (b10076) traz uma importante otimização para GPUs CUDA, acelerando a operação get_rows quando os tipos de dado de origem e destino são idênticos. Anteriormente, a função k_get_rows_float realizava uma cópia escalar, um elemento por thread, e recalculava a cada iteração os cálculos invariantes da linha (carga do índice, fast_div_modulo e ponteiros das linhas). Agora, essas tarefas são movidas para fora do laço, e foi adicionado um caminho vetorizado (k_get_rows_float_vec) que copia blocos de 4 int (16 B) por thread, quando a condição de mesmo tipo e alinhamento de 16 bytes é atendida.
O caminho vetorizado é habilitado em tempo de compilação somente se src0_t == dst_t, e em tempo de execução quando os ponteiros base, os strides das linhas e o tamanho da linha permitem — todos com alinhamento de 16 bytes e ne00 % VEC == 0. Para evitar que gathers muito pequenos (de uma única linha) percam desempenho por redução excessiva no número de blocos, uma proteção de ocupação mantém esses casos no caminho escalar, rico em blocos. Em testes com o modelo DeltaNet (Strix Halo, gfx1151), o gather do estado recorrente (ne00=524288) caiu de 18,6 µs para 13,0 µs (registros rocprofv3), superando até o backend Vulkan, sem regressão no gather pequeno do estado de convolução. No total, a operação get_rows ficou 27% mais rápida. Todos os 47 testes do test-backend-ops GET_ROWS foram executados com sucesso.
Website:
macOS/iOS:
- macOS Apple Silicon (arm64)
- macOS Apple Silicon (arm64, KleidiAI enabled) DESABILITADO
- macOS Intel (x64)
- iOS XCFramework
Linux:
- Ubuntu x64 (CPU)
- Ubuntu arm64 (CPU)
- Ubuntu s390x (CPU)
- Ubuntu x64 (Vulkan)
- Ubuntu arm64 (Vulkan)
- Ubuntu x64 (ROCm 7.2)
- Ubuntu x64 (OpenVINO)
- Ubuntu x64 (SYCL FP32)
- Ubuntu x64 (SYCL FP16)
Android:
Windows:
- Windows x64 (CPU)
- Windows arm64 (CPU)
- Windows arm64 (OpenCL Adreno)
- Windows x64 (CUDA 12) – CUDA 12.4 DLLs
- Windows x64 (CUDA 13) – CUDA 13.3 DLLs
- Windows x64 (Vulkan)
- Windows x64 (OpenVINO)
- Windows x64 (SYCL)
- Windows x64 (HIP)
openEuler:
- DESABILITADO
- openEuler x86 (310p)
- openEuler x86 (910b, ACL Graph)
- openEuler aarch64 (310p)
- openEuler aarch64 (910b, ACL Graph)
UI:



