llama.cpp b8755とは、Snapdragon上のLinuxでHexagon DSPを扱えるよう拡張したリリースである。
「モバイル端末でローカルLLMを動かす」という話題が、この数ヶ月で急に現実味を帯びてきました。公開されたllama.cpp b8755は、その流れを象徴する更新。Snapdragonプロセッサ上のLinuxでHexagon DSPを扱える範囲を広げ、Snapdragon開発ボード(Ex2)向けのDebian対応を追加し、CMakeのC/C++ビルドフラグに -fvectorize を加え、導入手順と各種ドキュメントを整備。単発の地味なリリースに見えて、x86デスクトップ以外でllama.cppが動く場所が着実に増え続けていることが読み取れる内容。
- b8755でllama.cppのHexagonバックエンドがSnapdragon Linuxで扱える範囲に広がった
- モバイル/エッジ推論の選択肢は増えるが、本格運用にはRAM容量とストレージ速度が鍵
- x86デスクトップ・RTXユーザーへの直接の速度変化はないが、llama.cpp 全体の健全化という間接効果がある
llama.cpp b8755で何が変わったのか
b8755はllama.cppを開発するggml-orgがGitHubで公開したタグリリース。リリースノートに明記された変更点は大きく4つあります。ひとつ目がSnapdragon系SoCのLinux環境でHexagon DSPを扱えるようにするサポート追加。ふたつ目がSnapdragon開発ボード(Ex2)上でのDebianに対する対応。三つ目がCMakeビルドフラグへの -fvectorize 追加。四つ目が導入手順・Linuxセットアップ・インストールスクリプト・ドキュメント全般のアップデートでした。
リリースノートに書かれた主な変更
変更の中心はHexagon関連。GitHub上のllama.cpp公式リポジトリには docs/backend/snapdragon/README.md が存在し、Qualcomm DSPを推論バックエンドとして扱う仕組みがすでに公式にメンテナンスされています。b8755ではそこへLinux上の動作サポートが加わった形。コミットにはQualcomm所属のエンジニアの名前がCo-authoredで記載されており、Qualcomm側がllama.cppへ継続的に貢献している構図もうかがえます。
公式 README には Snapdragon バックエンドの守備範囲が以下のように整理されています。
The Snapdragon backend covers CPU, Adreno GPU, and Hexagon NPU (HTP0-4) on Qualcomm Snapdragon SoCs.
— llama.cpp 公式 docs/backend/snapdragon/README.md より (URL は記事末尾「出典・参考」セクション参照)
-fvectorize フラグの追加は地味ですが意味が大きい変更。C/C++コンパイラに自動ベクトル化を明示的に指示するもので、CPU側の推論経路に作用する最適化です。SIMD命令の活用を促すため、ARM NEONやx86 AVXを持つCPUでの推論スループットに影響する可能性があります。
ビルド対象プラットフォームの広さ
b8755で提供されているビルドを並べると、llama.cppのマルチプラットフォーム戦略の本気度が見えます。公開されているバイナリは以下。
macOS/iOS系: macOS Apple Silicon (arm64)、Apple Silicon (arm64, KleidiAI enabled)、macOS Intel (x64)、iOS XCFramework。Linux系: Ubuntu x64 (CPU)、Ubuntu arm64 (CPU)、Ubuntu s390x (CPU)、Ubuntu x64/arm64 (Vulkan)、Ubuntu x64 (ROCm 7.2)、Ubuntu x64 (OpenVINO)。Windows系: Windows x64/arm64 (CPU)、Windows x64 (CUDA 12/CUDA 13)、Windows x64 (Vulkan)、Windows x64 (SYCL)、Windows x64 (HIP)。openEuler系: x86 (310p/910b)、aarch64 (310p/910b)。
数を並べるだけでも圧倒されます。CPU・CUDA・Vulkan・ROCm・SYCL・HIP・OpenVINO、そしてHexagonを加えた多彩な推論経路。ひとつのプロジェクトでこれだけのハードウェア対応を同時に面倒を見ている状況が、b8755の単独ニュースを超えた文脈として重要です。
Hexagon DSPの立ち位置|NPUやGPUとどう違うのか
今回の主役であるHexagonについて整理します。HexagonはQualcommが長年Snapdragon SoCに搭載してきたDSP(デジタルシグナルプロセッサ)。スマートフォンのカメラ処理や音声認識、常時接続時の低消費電力処理など、リアルタイム信号処理を低電力でこなすために磨かれてきた演算ユニットです。
DSPがAI推論で生きる理由
DSPはもともと積和演算(MAC)を高速かつ低電力でこなすことに特化した設計。これはAI推論、特にLLMで多用される行列演算と相性が良い領域。GPUほど汎用並列計算には振られていないものの、電力効率という軸ではGPUより有利に働くケースが多々あります。バッテリー駆動のモバイル端末でLLMを回すときに差が出るのは、まさにこの電力効率。
ただしDSPは「汎用並列計算機」ではないため、ソフトウェア側が個別に最適化コードを書く必要がある点が面倒。llama.cppのHexagonバックエンドはその個別最適化を引き受ける役割を担っています。
GPU・NPUとの守備範囲の違い
混同されがちなGPU・NPU・DSPの違いを整理しておきましょう。GPUは大量のシェーダコアによる汎用並列計算機で、グラフィックスからAIまで広く対応。NPUはAI推論に用途を絞った専用アクセラレータで、近年のノートPC向けSoCに広く搭載。DSPはその中間的な立ち位置で、信号処理系の演算に強く、低電力動作を得意とする装置。
Hexagonは世代を重ねて演算能力を拡張してきており、近年のSnapdragon搭載機ではNPUの文脈で語られることも。ただし呼び名はマーケティング寄りで、中身は依然としてHexagonの血筋を引くDSPアーキテクチャが中心。llama.cppがこれを「Hexagon backend」という名前で素直に扱うのは、ハードウェア実装に即した命名と言えます。
Snapdragon Linux環境でローカルLLMは本当に動くのか
Snapdragonを載せたLinuxマシンで、llama.cppはどこまで使えるのか。b8755の時点で「小〜中型のLLMを量子化して動かす」という用途にはかなり現実味が出てきています。
これまでモバイルLinux+LLMが難しかった理由
ひと昔前まで、ARM系SoCを積んだLinux環境でLLMを動かすのは茨の道でした。推論フレームワーク側のARM最適化が追いつかず、CPUオンリーで強引に回すと体感が厳しい状況。しかもメモリ帯域がx86デスクトップと比べて狭く、量子化モデルを載せてもトークン生成速度が伸びません。
加えて、SoC内蔵のGPU/DSPを使おうとすると、メーカーごとの独自SDKに閉じ込められて汎用化しづらい問題もありました。SnapdragonのHexagonもその代表例で、公式ツールチェーンを個人ユーザーが扱うハードルは低くなかったと言えます。
Hexagon対応で広がる選択肢とビルド手順
llama.cpp側がHexagonをバックエンドとして扱えるようになると、話が変わります。深い低レベル知識を持たなくても、コマンド1本で推論経路を切り替えられる可能性が見えてきた。b8755はその土台に「Linux上での動作」を正式に接続した更新です。
公式 README に記載された Snapdragon Linux 向けの基本的なビルド手順は以下のような形になります。一次ソースは公式リポジトリ内の docs/backend/snapdragon/README.md (URL は記事末尾「出典・参考」セクション参照)。
git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp
cmake -B build -DGGML_HEXAGON=ON
cmake --build build -j
検証済みの固有名としてはSnapdragon 8 Elite系がllama.cppのHexagonバックエンドドキュメントに登場しており、一定の動作実績が公式に示されているプロセッサ。これ以外のSnapdragon世代については個別のドキュメント確認が必要になります。
Ex2対応とARM SoC全体への波及
b8755にはDebian on Ex2への対応追加も含まれます。Ex2はARM系の別系統で、Hexagonのサポート拡大と並行してARM SoC全体への対応が広がっている流れの一部。個別のSKUやベンダに踏み込みすぎず、俯瞰すると「llama.cppはもはやx86/RTXのためだけのソフトではない」という事実が浮かび上がってきます。
Hexagon backendで試す場合の必要スペック目安
現時点で確認できる情報を元に、Snapdragon+Linux環境でllama.cppを動かす場合の現実的なスペック目安を整理しました。数値は汎用的な目安であり、個別のモデル・量子化・入力長で変動します。
| グレード | SoC/CPU | RAM | ストレージ | 動作の目安 |
|---|---|---|---|---|
| 最低 | Snapdragon系搭載Linuxデバイス(ARMv8世代) | 8GB | NVMe SSD 256GB以上 | 1〜3Bクラスのモデルを4bit量子化で起動・短文推論 |
| 推奨 | Snapdragon 8 Elite相当 | 16GB | NVMe SSD 512GB以上 | 7Bクラスの4bit量子化モデルを実用速度で対話利用 |
| 快適 | x86デスクトップ+RTX GPU併用 | 32GB以上 | NVMe SSD 1TB以上 | 13B以上のモデルを高速実行、長文入力対応 |
表を読むときの注意点をいくつか。まず「最低」ラインはあくまで起動と基本動作を確認できるレベルで、会話速度の快適さは期待しづらい水準。「推奨」でも7Bモデルを4bit量子化した場合の目安で、8bit量子化や長文入力ではもう一段上のRAMが欲しくなります。そして「快適」は結局のところx86+RTXの組み合わせが今も最速という現実。モバイル側は「新しく選択肢に入ってきた」段階で、最速の座は従来のデスクトップ構成が握り続けています。
当サイトの検証環境(RTX 5080 16GB + RTX 5060 Ti 16GB / i7-14700F / RAM 96GB)ではローカルLLMを日常的に動作させており、7B〜13Bクラスを fp16 / 8bit で快適に回せています。モバイル側のARM環境で同じモデルを動かすとトークン生成速度は一桁下がる想定が現実的で、「ノートPCでLLMを対話相手にする」用途でも推奨ライン以上が欲しい、というのが妥当な結論。
-fvectorizeフラグとCPU推論・周辺アップデートの俯瞰
b8755のもうひとつの見どころが -fvectorize フラグの追加。派手さはないものの、CPU推論の速度を底上げしうる基盤側の改善です。合わせて同時期のllama.cpp関連リリース(b8691、b8688、b8813)を俯瞰すると、プロジェクト全体の方向性が鮮明に見えてきます。
自動ベクトル化がもたらすもの
-fvectorize はコンパイラに自動ベクトル化を有効化するよう指示するフラグ。ループ処理の中から並列実行できる部分を見つけ、SIMD命令に自動変換する仕組みです。ARMならNEON命令、x86ならSSE/AVX系命令が活用対象。LLM推論で中核を担う行列演算はベクトル化の恩恵を受けやすい処理で、このフラグによって実行速度が改善される余地があります。
ただし自動ベクトル化は「コンパイラが最適化できるときだけ適用される」もの。特定のループ構造やデータ依存関係があると最適化が回らない場合もあるため、数値として何%速くなるかは環境依存。公式リリースノートでも具体的な高速化率は示されていないため、「底上げの方向に働く」程度の理解が妥当。
同時期の周辺アップデート
b8755単独ではなく、同時期の動きを並べると広さが見えます。
b8691ではLinux環境のVulkanビルドでfork失敗時のエラーメッセージが改善されました。デバッグしづらかった致命的なビルドエラーの原因が、errnoベースで読み取れるように。b8688ではggml-cuda内部でAMDのCDNA2アーキテクチャ(gfx90a)を示す定数が誤っていたバグが修正。これによりMI210クラスのAMD製データセンターGPUが正しく認識されるようになりました。b8813ではRISC-Vベクトル拡張向けのSIMD GEMMカーネルが実装され、RISC-Vアーキテクチャ上の行列乗算が大きく高速化する土台が整備されました。
モバイル向けDSP対応(b8755)、Vulkan体験改善(b8691)、データセンターGPU認識修正(b8688)、RISC-V最適化(b8813)。同時並行でこれだけのハードウェア層をカバーしているプロジェクトは多くありません。「どの環境のユーザーにも何かしら嬉しいリリースが継続的に来る」状態が今のllama.cpp。
x86・RTXユーザーにとっての意味
ここまで読んで「結局、x86+RTX環境には関係ないのでは?」と読まれる向きもあるかもしれません。直接の速度向上という点では、今回のHexagon対応がx86+RTX環境に何か恩恵を与えるわけではありません。Windows x64 (CUDA 12/13) ビルドやVulkanビルドは従来通り提供され続けており、更新内容は並行して維持されている状況。
ただし間接的な効果はあります。モバイル側・AMD側・RISC-V側まで含めてllama.cppが広がるほど、推論エンジン側のバグ発見・修正速度が上がり、共通ロジックの信頼性が高まります。結果としてCUDAバックエンドの安定性にも波及。長期的にllama.cppを使い続けるユーザーとしては、「幅広いハードウェアで動く堅いソフト」であり続けてくれる方が都合が良い、という見方はできます。
ローカルLLM周辺のモデル側の動きも視野に入れておくと全体像が見えやすくなります。オープンソースLLMのリリース動向は姉妹サイトの最新ローカルLLMの公開ニュースでも追いかけています。ハードウェア側の対応拡大とモデル側の成長が並行している状況こそ、現在のローカルAI環境の見どころ。
llama.cpp b8755 主要仕様
| 主要変更 | Snapdragon Linux向けHexagonサポート追加、Ex2向けDebian対応、-fvectorizeフラグ追加、ドキュメント整備 |
|---|---|
| macOS対応 | Apple Silicon (arm64)、Apple Silicon (arm64, KleidiAI enabled)、Intel (x64)、iOS XCFramework |
| Linux対応 | Ubuntu x64/arm64/s390x (CPU)、x64/arm64 (Vulkan)、x64 (ROCm 7.2)、x64 (OpenVINO) |
| Windows対応 | x64/arm64 (CPU)、x64 (CUDA 12/CUDA 13)、x64 (Vulkan)、x64 (SYCL)、x64 (HIP) |
| openEuler対応 | x86 (310p/910b)、aarch64 (310p/910b) |
| 新規バックエンド | Snapdragon Hexagon DSP (Linux) |
| 公式リポジトリ | github.com/ggml-org/llama.cpp (URL は記事末尾「出典・参考」セクション参照) |
まとめ
llama.cpp b8755は派手なニュースではないものの、ローカルLLM実行環境の地図をひそかに塗り替える更新でした。Snapdragon上のLinuxでHexagon DSPが使えるようになる方向への前進、Ex2向けDebian対応、-fvectorize によるCPU推論の土台改善。この3つを同時に進めた上で、周辺のVulkan・ROCm・RISC-V対応も並行して磨かれています。
用途別に整理すると、モバイル/エッジでLLMを動かしたい人は「Snapdragon 8 Elite相当 + RAM 16GB以上」を目安に環境を選び、まずは小型モデルの4bit量子化から試すのが現実的。本格的に会話用途でLLMを使い込むなら、従来どおりx86デスクトップ+RTX GPUの組み合わせが今も最速ルート。AMD Instinct系やRISC-V環境のユーザーはb8688・b8813の修正が直接届くリリースで、環境別に恩恵のポイントが分かれているのが今のllama.cppの姿。
モバイルでローカルLLMを試すハードルは着実に下がっています。b8755はそのマイルストーンのひとつ。
出典・参考
- llama.cpp 公式ドキュメント — Snapdragon バックエンド (docs/backend/snapdragon/README.md) — CPU / Adreno GPU / Hexagon NPU(HTP0-4) の 3 系統が対象、ビルド手順・対応プラットフォームを記載
- llama.cpp 公式リポジトリ (ggml-org/llama.cpp) — タグリリース b8755 を含む全リリース履歴、対応プラットフォーム別ビルド配布
- llama.cpp リリース一覧 — b8691 / b8688 / b8755 / b8813 等の周辺リリースノート確認
- Qualcomm 公式 — Hexagon Processor 解説ページ — Hexagon DSP / NPU の HVX / HMX アーキテクチャ、ヘテロジニアス計算の設計方針を一次資料として参照可能
当サイトはAmazonアソシエイト・プログラムの参加者です。Amazonのアソシエイトとして、当サイトは適格販売により収入を得ています。
本記事は AIハードウェア図鑑 編集部 が記載時点の情報をもとに執筆。製品アップデートや第三者ベンチマーク・価格・対応ランタイム等の変動で評価が変わる可能性がある。一定期間経過した内容は再検証を推奨する。

