RISC-V ディストロ

AI ソフト

公開された証拠があるものだけ:公式リポジトリ、ベンダーのドキュメント、信頼できる実測

QEMU virt 仮想マシン

QEMU エミュレート rv64(vlen=256, RVV 1.0)
  • llama.cpp 動作可 qemu-riscv64 -cpu max,vlen=256 で上流ビルドを実行できます。SpacemiT のドキュメントには qemu で llama-cli を動かす完全なコマンド例があります。あくまで機能確認で、速度に意味はありません。 github.comraw.githubusercontent.com
  • onnxruntime 一部可 build_riscv64.sh はクロスコンパイル成果物の検証に qemu を使っており、動きますが非常に遅いです。 raw.githubusercontent.com
  • pytorch 一部可 RISE の wheel は「QEMU ビルドではない」と明記しており、qemu 上では機能確認しかできません。 riseproject.dev
  • opencv 動作可 エミュレーション環境でも動作しますが、性能的な意味はありません。 github.com
  • ncnn 動作可 CI は riscv64 上で通っています。 github.com

NPU / アクセラレータなし(純粋なエミュレーション)

ハードウェアがないときにコンパイルと機能を確認するためのもので、性能の根拠にはできません。

SiFive HiFive Unmatched

SiFive FU740(4x U74, RV64GC、V なし)
  • llama.cpp 公開情報なし Unmatched 専用の公開実測は見つかりませんでした。上流はソースのみで(release に riscv64 バイナリはありません)、U74 に RVV がないためスカラ経路しかなく、かなり遅いと見込まれます。 github.comgithub.com
  • onnxruntime 一部可 上流には MLAS の RVV カーネルと tools/scripts/build_riscv64.sh(SiFive が貢献)がありますが、riscv64 のビルド済みパッケージはなく、自分でクロスコンパイルする必要があります。RVV カーネルは RVV 1.0 向けです。 raw.githubusercontent.comgithub.com
  • pytorch 一部可 PyPI に riscv64 の wheel はありません。RISE が torch 2.13.0 の manylinux_2_39_riscv64 wheel を提供しています(glibc 2.39 以上、Ubuntu 24.04/Bianbu など)。 riseproject.devpypi.riseproject.dev
  • opencv 動作可 上流の 4.x は RISC-V と RVV HAL に対応しています。多くのディストリビューションで導入でき、RVV バックエンドで自前ビルドも可能です。ボードごとの性能検証はしていません。 github.com
  • ncnn 一部可 上流には linux-riscv64 の CI と RVV 実装があります。U74 に RVV はないので、ncnn はスカラでしか動きません。 github.comgithub.com
  • tengine 一部可 tengine-lite は risc-v/lp64dv の RVV 畳み込みカーネルと rv64-c906 ツールチェーンを提供しますが、最適化されるのは一部の演算子だけで、実験的な対応です。 raw.githubusercontent.comgithub.com

NPU / アクセラレータNPU なし

ruyi は OpenBSD/Ubuntu/openKylin/openWrt のイメージを提供しています。エコシステムは老舗ですが、AI アクセラレータはありません。

StarFive VisionFive 2

StarFive JH7110(4x U74, RV64GC、V なし)
  • llama.cpp 一部可 コミュニティでビルド・実行できますが、issue #14926 では VF2 で Illegal instruction が出ると報告されています。RVV/CPU のビルドパラメータを正しく設定する必要があります。V 拡張がないので純スカラ推論になり、速度はかなり低いです。 github.comgithub.com
  • onnxruntime 一部可 上流には MLAS の RVV カーネルと tools/scripts/build_riscv64.sh(SiFive が貢献)がありますが、riscv64 のビルド済みパッケージはなく、自分でクロスコンパイルする必要があります。RVV カーネルは RVV 1.0 向けです。 raw.githubusercontent.comgithub.com
  • pytorch 一部可 PyPI に riscv64 の wheel はありません。RISE が torch 2.13.0 の manylinux_2_39_riscv64 wheel を提供しています(glibc 2.39 以上、Ubuntu 24.04/Bianbu など)。 riseproject.devpypi.riseproject.dev
  • opencv 動作可 上流の 4.x は RISC-V と RVV HAL に対応しています。多くのディストリビューションで導入でき、RVV バックエンドで自前ビルドも可能です。ボードごとの性能検証はしていません。 github.com
  • ncnn 一部可 上流には linux-riscv64 の CI と RVV 実装があります。JH7110 に RVV はないので、ncnn はスカラで動きます。 github.comgithub.com
  • tengine 一部可 tengine-lite は risc-v/lp64dv の RVV 畳み込みカーネルと rv64-c906 ツールチェーンを提供しますが、最適化されるのは一部の演算子だけで、実験的な対応です。 raw.githubusercontent.comgithub.com

NPU / アクセラレータNPU なし(GPU/動画エンコード・デコードのみ)

最も成熟した入門ボードのひとつです(ruyi は Armbian/openEIC/OpenBSD のイメージを提供)。ただし SoC にベクトル拡張がなく、LLM は「動くが非常に遅い」になります。

LicheePi 4A(ライチパイ 4A)

T-HEAD TH1520 (4x C910 @1.85GHz, RV64GCV 0.7.1)
  • llama.cpp 動作可 Sipeed 公式 wiki に llama.cpp の章があり、7B モデルで約 6s/token(V 拡張は未使用)。C910 は RVV 0.7.1 なので上流の RVV 1.0 最適化経路は使えず、スカラのみです。 raw.githubusercontent.comgithub.com
  • onnxruntime 一部可 上流の riscv64 ビルドの MLAS RVV カーネルは RVV 1.0 向けで、TH1520 の 0.7.1 ベクトルはそのままでは使えずスカラに戻ります。 raw.githubusercontent.com
  • pytorch 一部可 RISE の wheel は glibc 2.39 以上かつ RVV 1.0 最適化経路が前提です。RevyOS/Debian には入りますがベクトル加速はありません。 riseproject.dev
  • opencv 動作可 通常は使用可能です。RVV HAL の 0.7.1 対応は限定的です。 github.com
  • ncnn 一部可 ビルドは可能ですが、RVV 最適化は 1.0 向けで 0.7.1 ではスカラに退行します。 github.com
  • tengine 一部可 tengine-lite は rv64-c906 ツールチェーンと RVV 畳み込みカーネルを同梱しており、まさに C906/C910 のような 0.7.1 コア向けですが、対応する演算子は一部だけです。 github.com
  • npu-sdk (HHB) 一部可 公式 wiki に NPU の手順があります。T-Head HHB コンパイラが ONNX を NPU 実行ファイル(int8/int16 固定小数点)に変換し、専用の docker イメージが必要です。クローズドなツールチェーンで固定小数点のみのため、LLM には向きません。 raw.githubusercontent.com

NPU / アクセラレータ4 TOPS@INT8。ベンダーのクローズドな HHB ツールチェーン(int8/int16 固定小数点)のみで、上流のオープンソースドライバはありません

CPU で LLM を動かすことは可能ですが遅く(約 6s/token)、NPU は T-Head のクローズドな HHB しか経路がなく、Transformer の LLM は動きません。

Milk-V Meles

T-HEAD TH1520 (4x C910 @1.85GHz, RV64GCV 0.7.1)
  • llama.cpp 一部可 LicheePi 4A と同じ TH1520 で、RevyOS がこのボードを公式サポートしています。llama.cpp は同じ 0.7.1 のベクトル/スカラ経路です(LPi4A の実測で約 6s/token)。Meles 専用の公開ベンチマークは見つかりませんでした。 milkv.ioraw.githubusercontent.comrevyos.github.io
  • onnxruntime 一部可 TH1520 共通の事情で、上流の RVV カーネルは 1.0 向けのためここではスカラに退行します。 raw.githubusercontent.com
  • pytorch 一部可 RISE の wheel を導入できます(RevyOS は Debian ベース)。ベクトル加速はありません。 riseproject.dev
  • opencv 動作可 通常は使用可能です。 github.com
  • ncnn 一部可 ビルドは可能ですが、RVV 最適化は 0.7.1 では退行します。 github.com
  • tengine 一部可 rv64-c906 ツールチェーンがこの種のコアに合いますが、対応は一部の演算子のみです。 github.com
  • npu-sdk (HHB) 一部可 Milk-V の公式仕様では 4TOPS@INT8 の NPU が TensorFlow/ONNX/Caffe に対応するとされていますが、経路は T-Head のクローズドなツールチェーンで、オープンソースのドライバはありません。 milkv.io

NPU / アクセラレータ4 TOPS@INT8(TH1520)、クローズドな HHB ツールチェーン

ruyi から RevyOS を直接書き込めます(4G/8G/16G の uboot パッケージあり)。AI の状況は LPi4A と同じです。

SpacemiT K3(Pico-ITX / CoM260)

SpacemiT K3(A100 コア、RV64GCV + RVV 1.0)
  • llama.cpp 動作可 上流 llama.cpp の公式ドキュメントに build-riscv64-spacemit.md の専用章があります。A100 は RISCV64_SPACEMIT_IME2 を使い、実測で qwen3 0.6B Q4_0 が pp128 565.8 / tg128 55.8 t/s、qwen3 4B Q4_0 が pp128 79.7 / tg128 11.3 t/s(8 スレッド)。 raw.githubusercontent.com
  • spacemit-llama.cpp (メーカー) 動作可 SpacemiT はビルド済みの spacemit-llama.cpp.riscv64(0.0.9 まであり)と archive.spacemit.com のモデルライブラリを提供しています。Bit-Brick のドキュメントに llama-cli/llama-server の使い方があります。 archive.spacemit.comdocs.bit-brick.com
  • onnxruntime 動作可 RVV 1.0 のコアなので上流の MLAS RVV カーネルを活かせます。自分でビルドする必要があります。 raw.githubusercontent.com
  • pytorch 動作可 Bianbu など glibc 2.39 以上のディストリビューションなら、RISE の torch 2.13.0 riscv64 wheel(manylinux_2_39_riscv64)をそのまま入れられます。 riseproject.devpypi.riseproject.dev
  • opencv 動作可 RVV 1.0 + RVV HAL で、最良の組み合わせです。 github.com
  • ncnn 動作可 RVV 1.0 で、上流 CI の対象です。 github.comgithub.com
  • tengine 一部可 使えますが、最適化は 0.7.1 の C906 向けなので 1.0 では効果が限定的です。 github.com
  • spacemit-ai-sdk 動作可 archive.spacemit.com/spacemit-ai/ に ModelZoo、llama.cpp、localai、dify などの成果物があり、現在の RISC-V で最も揃ったベンダー AI スタックのひとつです。 archive.spacemit.com

NPU / アクセラレータK3 は CPU + AI コア(SpacemiT IME 拡張)が主体で、独立した汎用 NPU のプログラミングモデルはありません。加速は SpacemiT 独自命令と AI SDK 経由です

現在の RISC-V SBC で AI ソフトウェアスタックが最も揃っている部類です。上流の llama.cpp にカーネルが直接入っています。

知合計算 A210(XuanTie MelonPi 開発ボード)

Zhihe A210 (4x C920 @2.3GHz + 4x C908, RV64GCV)
  • llama.cpp 公開情報なし A210 上での llama.cpp の公開実測は見つかりませんでした。C920 は RVV 0.7.1 なので、上流の 1.0 最適化経路は使えません。 cnx-software.com
  • onnxruntime 公開情報なし このボードの公開証拠は見つかりませんでした(チップが新しく、upstream 対応は 2026 年からです)。 raw.githubusercontent.com
  • pytorch 公開情報なし このボードの公開証拠は見つかりませんでした。 riseproject.dev
  • opencv 一部可 RVV 0.7.1 で、スカラ/限定的なベクトル経路のみです。このボードでの実測は見ていません。 github.com
  • ncnn 公開情報なし このボードの公開証拠は見つかりませんでした。 github.com
  • tengine 公開情報なし このボードの公開証拠は見つかりませんでした。 github.com
  • torq-toolkit (メーカー) 一部可 CNX の報道によると、公式 Linux SDK + TORQ-Toolkit でモデル変換と配備を行い、NPU は INT4/INT8/INT16/FP8/FP16/BF16 に対応、DeepSeek-7B で 8 tok/s と主張しています。ツールチェーンはクローズドで、ドキュメントも公開されていません。 cnx-software.com

NPU / アクセラレータ12 TOPS@INT8(FP16/BF16/FP8 対応)。ベンダーの TORQ-Toolkit というクローズドなツールチェーン経由です

ruyi は zhihe-a210 の Debian/buildroot イメージを提供していますが、AI 側はベンダーの主張だけで、公開された再現可能な実測がありません。

Canaan K230(Kendryte K230 / CanMV-K230)

Canaan K230 (C908 + KPU)
  • llama.cpp 公開情報なし K230 は視覚推論(KPU)向けで、llama.cpp の公開実測は見つかりませんでした。メモリは 512MB/1GB 級で、LLM は現実的ではありません。 kendryte.com
  • onnxruntime 公開情報なし 公開証拠は見つかりませんでした(公式が推すのは nncase です)。 kendryte.com
  • pytorch 公開情報なし 公開証拠は見つかりませんでした。学習側は対象外です。 kendryte.com
  • opencv 動作可 CanMV/K230 SDK に画像処理とカメラのパイプラインが組み込まれており、OpenCV 風の API が使えます。 kendryte.com
  • ncnn 公開情報なし 公開証拠は見つかりませんでした。 kendryte.com
  • nncase + KPU 動作可 kendryte/nncase は公式のオープンソース深層学習コンパイラで、ONNX/TFLite を KPU の kmodel に変換します。K230 SDK のドキュメントに AI 開発の一連の流れがあります。 github.comkendryte.com

NPU / アクセラレータKPU(約 1 TOPS 級)。nncase で kmodel にコンパイルし、ドライバはベンダー SDK(上流ではありません)

「視覚 AI は得意、LLM には不向き」という典型的なボードです。nncase はオープンソースですが、ランタイムは今もベンダー SDK に縛られています。

Milk-V Megrez(ESWIN EIC7700X)

ESWIN EIC7700X (4x SiFive P550 @1.8GHz, RV64GBCH)
  • llama.cpp 公開情報なし P550 に RVV はなく、Megrez 上での llama.cpp の公開実測も見つかりませんでした。公式の AI 経路は CPU ではなく NPU です。 milkv.io
  • onnxruntime 公開情報なし 公開証拠は見つかりませんでした。 milkv.io
  • pytorch 公開情報なし 公開証拠は見つかりませんでした。 milkv.io
  • opencv 一部可 RVV がなくスカラ経路です。RockOS には入れられますが公開ベンチマークはありません。 github.com
  • ncnn 公開情報なし 公開証拠は見つかりませんでした。 github.com
  • ennp-sdk (メーカー) 動作可 ESWIN の ENNP プラットフォーム(クローズド)は EsQuant 量子化、EsAAC コンパイル、EsSimulator シミュレーションを提供します。公式 runtime sample には Qwen2 と DeepSeek-R1 を NPU で動かす例がそのまま入っています(apt install es-sdk-sample-npu-qwen、モデルは ZIFENG278/Qwen2-0.5B_ENNP)。 milkv.iomilkv.io

NPU / アクセラレータ19.95 TOPS@INT8(INT16/FP16)。クローズドな ENNP SDK ですが、公式が Qwen2/DeepSeek-R1 のサンプルを提供しています

RISC-V では珍しい「NPU で LLM が動き、ベンダーがサンプルも出している」ボードです。代償は ESWIN のクローズドなスタックへの完全依存です。

Milk-V Titan(UltraRISC DP1000)

UltraRISC UR-DP1000 (8x RISC-V RV64GCBH)
  • llama.cpp 公開情報なし Titan 上での llama.cpp の公開実測は見つかりませんでした。ボードが新しく出荷も少ないためです。 milkv.io
  • onnxruntime 公開情報なし 公開証拠は見つかりませんでした。 milkv.io
  • pytorch 公開情報なし 公開証拠は見つかりませんでした。 milkv.io
  • opencv 一部可 RVV がなくスカラ経路です。公開実測もありません。 milkv.io
  • ncnn 公開情報なし 公開証拠は見つかりませんでした。 milkv.io

NPU / アクセラレータオンボード NPU なし。公式の位置づけは PCIe Gen4 x16 に外付け GPU/AI アクセラレータカードを挿すことです

Mini-ITX ワークステーションとしての位置づけで(DDR4 ECC 2 本で最大 64GB、BMC)、AI は外付け PCIe カード頼みです。ただし RISC-V で使える公開の GPU/NPU ドライバスタックの証拠は今のところありません。

Milk-V Pioneer(SG2042 サーバー向け)

Sophgo SG2042 (64x XuanTie C920, RVV 0.7.1)
  • llama.cpp 動作可 arXiv 2503.17422(V-Seek)は SG2042 上で LLM 推論の最適化を行い、DeepSeek R1 Distill Llama 8B / QWEN 14B で生成 4.32 / 2.29 token/s、prefill 6.54 / 3.68 token/s を達成しています。Milk-V 公式には別途 InferLLM のドキュメントがあります。 arxiv.orgmilkv.io
  • onnxruntime 一部可 64 コアで並列化できますが、RVV 0.7.1 なので上流の 1.0 カーネルは使えません。 raw.githubusercontent.com
  • pytorch 一部可 RISE の wheel を導入できます。0.7.1 のベクトル加速はありません。 riseproject.dev
  • opencv 動作可 マルチコアのスカラなら使えます。 github.com
  • ncnn 一部可 ビルドは可能ですが、0.7.1 ではスカラに退行します。 github.com
  • tengine 一部可 rv64-c906 カーネルは 0.7.1 に合いますが、対応は一部の演算子のみです。 github.com
  • inferllm 動作可 Milk-V 公式ドキュメントに InferLLM(MegEngine)を Pioneer に配備する手順があります。 milkv.io

NPU / アクセラレータNPU なし(純粋な 64 コア CPU)

大容量メモリ(最大 128GB)と 64 コアを備えた唯一の RISC-V ボードで、70B 級のモデルも載りますが、スループットは 1 桁 token/s です。

Orange Pi RV2(Ky X1)

SpacemiT K1 (8x X60, RV64GCV + RVV 1.0)
  • llama.cpp 動作可 X60 は BPI-F3 と同じコアで、上流の build-riscv64-spacemit.md に X60 の実測表があります(qwen3 0.6B Q4_0: pp128 49.15 / tg128 11.73 t/s)。ほかに Orange Pi RV2 上での llama.cpp 実験リポジトリもあります。 raw.githubusercontent.comgithub.com
  • spacemit-llama.cpp (メーカー) 動作可 SpacemiT のビルド済みパッケージが使えます(K1 と同源)。 archive.spacemit.com
  • onnxruntime 動作可 RVV 1.0 で、上流カーネルが使えます。 raw.githubusercontent.com
  • pytorch 一部可 glibc 2.39 以上(Ubuntu 24.04 や新しい Armbian など)なら RISE の wheel を入れられます。古いイメージは glibc が足りません。 riseproject.dev
  • opencv 動作可 RVV 1.0 + RVV HAL。 github.com
  • ncnn 動作可 RVV 1.0 で、上流 CI の対象です。 github.comgithub.com
  • tengine 一部可 使えますが、最適化は 1.0 専用ではありません。 github.com

NPU / アクセラレータ独立 NPU なし(K1 の AI 能力は SpacemiT 独自のベクトル/AI 拡張によるものです)

ruyi は armbian-orangepi-rv2-minimal イメージを提供しています。コストパフォーマンスが最も高い「LLM が本当に動く」ボードのひとつです。

Banana Pi BPI-F3(SpacemiT K1)

SpacemiT K1 (8x X60, RV64GCV + RVV 1.0)
  • llama.cpp 動作可 上流 llama.cpp の公式 riscv64-spacemit ドキュメントに X60(K1)の実測表と量子化の対応表があります(Q4_0/Q4_1/Q4_K/Q8_0 が利用可)。Bit-Brick の公式ドキュメントに Bianbu 上での一連の使い方があります。 raw.githubusercontent.comdocs.bit-brick.com
  • spacemit-llama.cpp (メーカー) 動作可 SpacemiT のビルド済み spacemit-llama.cpp.riscv64.0.0.4+(archive には 0.0.9 まであり)が llama-cli / llama-server / OpenAI 互換 API に対応します。 archive.spacemit.comdocs.bit-brick.com
  • onnxruntime 動作可 RVV 1.0 で、上流の MLAS RVV カーネルが使えます(自前ビルドが必要)。 raw.githubusercontent.com
  • pytorch 動作可 Bianbu など glibc 2.39 以上のディストリビューションなら、RISE の torch 2.13.0 riscv64 wheel(manylinux_2_39_riscv64)を入れられます。 riseproject.devpypi.riseproject.dev
  • opencv 動作可 RVV 1.0 で、OpenCV の RVV HAL が効きます。 github.com
  • ncnn 動作可 RVV 1.0 で、上流 CI の対象です。 github.comgithub.com
  • tengine 一部可 使えますが最適ではありません。 github.com
  • spacemit-ai-sdk 動作可 SpacemiT の AI 成果物リポジトリ(ModelZoo/llama.cpp/localai/dify)をそのまま利用できます。 archive.spacemit.com

NPU / アクセラレータ独立 NPU なし。AI は SpacemiT X60 のベクトル/AI 拡張と独自 AI SDK 経由です

現在「電源を入れれば LLM が動く」代表的なボードです。上流の llama.cpp、ベンダーのビルド済みパッケージ、Bianbu の 3 つが揃っています。

Milk-V Duo シリーズ(Duo / Duo 256M / Duo S)

Sophgo CV1800B (C906 @1GHz, 64/256MB)
  • llama.cpp 動作せず メモリが 64MB/256MB 級で、RVV もなく FPU の余裕もないため、LLM の実用性はありません。動いたという公開記録も見つかりませんでした。 milkv.io
  • onnxruntime 動作せず メモリも演算力も足りず、公式の AI 経路は汎用ランタイムではなく TPU です。 milkv.io
  • pytorch 動作せず 対象外です。 milkv.io
  • opencv 一部可 基本的な画像処理はできますがメモリが制約になり、公式のサンプルは TDL SDK 経由です。 milkv.io
  • ncnn 公開情報なし 公開証拠は見つかりませんでした(一般的なモデルを読み込むにはメモリが足りません)。 milkv.io
  • cvitek-tpu / tdl-sdk 動作可 Milk-V 公式ドキュメントによると、Duo シリーズの SoC には CVITEK TPU が内蔵され、TDL SDK の使用が推奨されています。YOLOv5/v8/11/12、MobileNetV2、ResNet18 などのサンプルがあります。TPU スタックはクローズドです。 milkv.io

NPU / アクセラレータCVITEK TPU(約 0.5 TOPS)。クローズドな TDL SDK / cvitek ツールチェーン

MCU 級の視覚ボードの典型で、YOLO 系の小型モデルは動きますが LLM にはまったく向きません。

RuyiSDK テスト表

https://matrix.ruyisdk.org/