Commit 458fcfc34 for llama.cpp

commit 458fcfc3400fad3cfddc0923cc41125627eb0844
Author: li-lizhe <82501526+li-lizhe@users.noreply.github.com>
Date:   Mon Nov 2 20:11:30 2026 +0800

    docs: CANN backend supports BF16 on 910B, document GGML_CANN_NO_PINNED (#31249)

    The note under 'Run the inference' still said that the CANN backend only
    supports FP16/Q4_0/Q8_0 models, while the DataType table in the same file,
    and ggml-cann.cpp (BF16 is enabled for MUL_MAT, GET_ROWS, CPY and CONT for
    every non-310P device), say otherwise. Spell out the per-device support and
    mark BF16 as unsupported on 310P instead of leaving the cell empty.

    GGML_CANN_NO_PINNED is read by ggml-cann.cpp when allocating host buffers
    and when advertising the host_buffer device capability, but it was not
    documented, so the escape hatch for a failing pinned host allocation was
    not discoverable.

    Signed-off-by: li-lizhe <147392333@qq.com>

diff --git a/docs/backend/CANN.md b/docs/backend/CANN.md
index b0dbc9262..b48e5a60d 100755
--- a/docs/backend/CANN.md
+++ b/docs/backend/CANN.md
@@ -161,7 +161,7 @@ lspci -n | grep -Eo '19e5:d[0-9a-f]{3}' | cut -d: -f2
 | FP16                   | Support | Support |
 | Q8_0                   | Support | Partial |
 | Q4_0                   | Support | Partial |
-| BF16                   | Support |         |
+| BF16                   | Support |    No   |

 > **310P note**
 > - `Q8_0`: data transform / buffer path is implemented, and `GET_ROWS` is supported, but quantized `MUL_MAT` / `MUL_MAT_ID` are not supported.
@@ -274,7 +274,9 @@ cmake --build build --config release

     **Notes**:

-      - CANN backend only supports FP16/Q4_0/Q8_0 models currently.
+      - On 910B the CANN backend supports FP16, BF16 and Q4_0/Q8_0 models. On 310P, BF16 is not
+        supported and quantized `MUL_MAT` / `MUL_MAT_ID` are not implemented, so only FP16 models
+        are supported (see [DataType Supports](#datatype-supports)).

 2. **Launch inference**

@@ -355,3 +357,7 @@ Enable ACL graph execution during the prefill stage, default is false. This opti
 ### GGML_CANN_OPERATOR_FUSION

 Enable operator fusion during computation, default is false. This option fuses compatible operators (e.g., ADD + RMS_NORM) to reduce overhead and improve performance.
+
+### GGML_CANN_NO_PINNED
+
+Disable pinned (host-locked) host buffers. When it is set (any value), `aclrtMallocHost` is not called: the CANN host buffer type allocates regular CPU memory instead and the backend reports no `host_buffer` capability, so host-side staging uses pageable memory. Use it when pinned host allocation fails, or when the pinned memory is needed by other processes on the host.