プレリリース / 継続的ビルド: これは実験的なビルドであり、安定版リリースではありません。
hexagon: matmul と flash-atten のスケーラビリティ更新 (#29974) * hexagon: row-split マルチコア向けの head-parallel flash_attn パーティショニング row-split モードでは各コアがすべての MUL_MAT の出力行シャードを計算しますが、flash_attn は従来ヘッド単位ではなく Q トークン単位(フラットな qrow 分割)で パーティショニングしていました。このため各コアが KV キャッシュ全体(すべての n_kv_heads)を読み込む必要があり、flash_attn におけるマルチコアのメモリ 帯域幅の利点が打ち消されていました。 n_kv_heads が n_cores で割り切れる場合に KV ヘッド単位で パーティショニングするよう、HMX と HVX の両方の flash_attn カーネルを変更しました: コア i はヘッド [i*n_kv_heads/N, (i+1)*n_kv_heads/N) のみを排他的に処理し、 KV キャッシュの自身のヘッドシャードのみを読み込みます。 n_kv_heads % n_cores != 0 の場合 (例: 4 コアで 2 KV ヘッドの Gemma-4)は、元のトークンブロック 分割にフォールバックします。 GGML_HEXAGON_FA_HEAD_SPLIT で制御されます(デフォルト 1 = 有効)。 このフラグは、128 バイトの kernel_params blob 制限内に収めるため、 既存の is_dst_fp32 kparams バイトのビット 1 にパックされます。 4c row-split での実測効果(PP t/s、ubatch=1024): Qwen3-0.6B: 6977 -> 11026 (+58%) llama-3.2-3B: 3717 -> 5522 (+49%) Qwen3.5-4B: 2739 -> 2855 (+4%) Gemma-4 MoE: 変化なし(MoE FFN が支配的、フォールバックパス) TG は変化なし(decode 時間に占める flash_attn の割合は、層あたりの matmul+barrier コストと比較して小さいため)。 * hex-fa: kern_params と head-split 選択のクリーンアップ * hex-fa: run.py に -fa-head-split オプションを追加 * hex-mdev: row-split シナリオでの作業量削減を考慮するよう matmul ソルバーを更新 * hex-mmid: マルチデバイスシナリオでの expert 単位のより良い作業分割 * hex-fa: model/n-hvx/ctx-len のスイープに基づく HMX ゲーティングの更新 * hex-fa: softcap/scale をホスト側で事前計算 * hexagon: マルチシーケンスで HMX を使えるよう matmul を 2 次元にフラット化 * hex-mm: kparams のクリーンアップと 3/4D -> 2D マッピングへの collapse の使用 * hex-mm: collapse フォールバックの typo を修正 * hex-mm: act テンソルの命名を一貫させるための追加パス * hex-mm: 融合 matmul での次元 collapse のサポートを追加 * hex-build: WoS のビルドエラーを修正 * hex-mm: can_collapse で dst ストライドを確実に強制するように修正 * hex-fa: head-split チェック用の 1 行コミットを追加 * hex-fa: 未使用のローカル変数 head_split を削除 * hex-fa: can_split チェックを厳格化 * hex-mm: 非融合パスで src1 の代わりに act を使用するよう更新 * hex-mm: 分割のためにすべての dst をチェックするよう確認 * hexagon: バッチ化 HMX matmul プロローグで 2 番目の重みチャンクのアドレスを修正 * hexagon: HMX matmul での F16 アクティベーションと ragged N 対応 * hex-mm: mdev ケースでの ragged/split チェックを厳格化 * hex-mm: F16 アクティベーションに対する MM 融合を有効化 * hex-mm: 融合パスで tiled サイズをソルバーに渡すよう修正 * hex-mmid: expert マッピングループからスカラー除算を削除 * hex-mmid: mdev 分割に対する適切な cacheline 安全性の強制 * hex-mm: mdev 分割シナリオと末尾処理のためのソルバー改善 * hex-mm: 冗長なチェックを削除 * hex-mm: 融合 HMX MUL_MAT_NX が量子化重みで最後の部分タイルを落とす問題を修正 * hex-mm: ragged な形状のより良い処理(vtcm のスカラー memset を削除) --------- Co-authored-by: ebateni Co-authored-by: Jhen-Jie Hong Co-authored-by: Yiwei Shaoウェブサイト: - https://llama.app
アテステーション: - https://github.com/ggml-org/llama.cpp/attestations/52957661
macOS/iOS向け: - macOS Apple Silicon (arm64)向け - macOS Apple Silicon (arm64、KleidiAI が有効) 無効です - macOS Intel (x64)向け - iOS向けXCFramework
Linux: - Ubuntu x64(CPU) - Ubuntu arm64(CPU) - Ubuntu s390x(CPU) - Ubuntu x64(Vulkan) - Ubuntu arm64(Vulkan) - Ubuntu x64(CUDA 12) - CUDA 12.8 ライブラリ - Ubuntu x64(CUDA 13) - CUDA 13.4 ライブラリ - Ubuntu arm64(CUDA 13) - CUDA 13.4 ライブラリ - Ubuntu x64(ROCm 10.0) - Ubuntu x64(OpenVINO) - Ubuntu x64(SYCL FP32) - Ubuntu x64(SYCL FP16) - Linux arm64(Snapdragon: CPU、Adreno GPU、Hexagon NPU) - セットアップガイド
Android: - Android arm64(CPU) - Android arm64(Snapdragon: CPU、Adreno GPU、Hexagon NPU) - セットアップガイド
Windows用: - Windows x64(CPU版) - Windows arm64(CPU版) - Windows arm64(OpenCL Adreno版) - Windows x64(CUDA 12版) - CUDA 12.4 DLLファイル - Windows x64(CUDA 13版) - CUDA 13.4 DLLファイル - Windows arm64(CUDA 13版) - CUDA 13.4 DLLファイル - Windows x64(Vulkan版) - Windows arm64(Vulkan版) - Windows x64(OpenVINO版) - Windows x64(SYCL版) - Windows x64(ROCm 10.0版)
openEuler: - DISABLED - openEuler x86(310p) - openEuler x86(910b、ACL Graph サポート) - openEuler aarch64(310p) - openEuler aarch64(910b、ACL Graph サポート)
UI: - UI