高性能SBC Khadas VIM4

Khadas VIM4は 2022年5月10日にリリースされた、高性能なシングルボードコンピューターです。豊富なIOや高性能CPU/GPUが採用されています。

高性能SBC Khadas VIM4

ざっくりまとめると

高性能CPU/GPU+8GBメモリ
合計8コアのCPU、GPU には Mali G52 MP8(8EE)を搭載しています。 またCPUはラズベリーパイ4 Model B と比較し2倍の数のCPUコアを持っており、およそ2~3倍の性能を発揮します。
※CPUは 4コア 2.2GHz Cortex-A73 と 4コア 2.0GHz Cortex-A53 の組み合わせです。
Android か Linux OS
現時点ではAndroid 11 か Ubuntu 22.04 を選択することができます。インストールは内蔵のeMMC(32GB)に対して行えるため別途MicroSDカード等を用意する必要はありません。
インタフェースが充実
2xUSB, ギガビットLANポート,フルサイズHDMI、カメラ入力(MIPI-CSI)x2,MicroSD,M.2. スロット,そして40ピンGPIOヘッダーなどSBCとしてはかなりのインタフェースがあります。
HDMI入力
SBCとしては珍しいHDMI入力ポートが用意されています。カンファレンスシステム等の用途が想定されているようです。OSにAndroidを選択するとミラーレスカメラ等からのHDMI主力をその他デバイスを介さずに利用することが出来ます。
※記事執筆時点ではUbuntuでのHDMI入力は利用できません。
STM32も載ってる
基板上にコントローラーとして利用できるSTM32G031K6が載っており、こちらは書き換え可能となっています。ちょっとしたセンサーや、ミリ秒オーダーでの制御が必要な場合は多いに役立ちそうです。
※回路図を見る限りでは搭載されているジャイロセンサーにすでに接続されているっぽいですが、そのうち試してみたいと思います。

Khadas VIM4

高性能 8コアCPU/GPU+32GBストレージが搭載されたシングルボードコンピューター

Amazon.co.jp

ハードウェア

手のひらサイズのボードにかなり詰め込まれている印象を受けます。個人的には M.2 ポートが用意されており、高速ストレージを利用可能なのが嬉しいです。

基板表側
LED

基板左下にあるLEDは赤と白の2色で、ユーザーがコントロール可能です。

基板裏面
技適取得済み
基板上には印刷されていませんが、箱には技適マークが印刷されていました。そのため、この手のデバイスでよく話題になる日本国内での電波利用には問題が無いものと思います。
https://dl.khadas.com/products/vim4/certifications/
技適マークが印刷されている

背面にはMicroSDカード/M.2スロットあたりも用意されています。また、HDMI出力以外にもタッチパネルやモニターを接続可能なインタフェースも用意されており、モニターを複数利用するアプリケーションにも利用できそうです。

MEMO

M.2 スロットは外側に向けて刺さるようになっているため、そのままSSDを差し込むとボード本体からはみ出す形になりますが、スタックできるような基板も販売されています。(しかも現時点では$8と安い)

New M2X Extension | Khadas
The New M2X Extension board is an ultra-thin version of the Original M2X Board. It has M.2 slots for adding a 4G LTE module and NVMe SSD to your VIM3, 3L or Edge-V. A nano-SIM card slot is built into the board.Features: M.2 Slot (M-Key) for 2280 NVMe SSDs M.2 Slot (B-Key) for 4G LTE Modules Nano-S…

電源

VIM4の電源は USB-C もしくは背面にある電源入力ピンから行います。背面の電源入力ソケットは 9~20vでの入力が可能となっており、それなりにレンジが広いですが、対応している電源アダプターを見ると 9v 3A /12v 2.5A / 20v 2A となっているためそれなりの電力供給が必要となります。

またUSB-C電源はUSB Power Deliveryに対応したものが必要です。

USB-C電源
MacBookに付属していたUSB-C電源とラズベリーパイで利用していた 5V 3A電源を試してみましたが、残念ながら再起動を繰り返してしまい起動させることができませんでした。
しかし、手持ちの5V 6A電源をUSB-C接続したところ全く問題無く動作しているため電源はある程度選ぶ必要がありそうです。

サイズ比較

SBCで有名なラズベリーパイ4 Model Bと比較すると若干小さいといった程度ですが、VIM4はインタフェースが多いため密度が高いように感じます。

左から順に Khadas VIM4, Raspberry Pi 4 Model B, Raspberry Pi Zero 2 W
厚さはラズベリーパイのほぼ半分

ファンやヒートシンクも薄く、LANポートに至っては基板に埋め込まれるように設置されています。

厚さは相当頑張って薄くしたな、、という印象です。

機械学習用途

VIM4はその名の通り4世代目のVIMですが、以前のVIM3で組み込まれていたNPUは搭載されていません。今後発売されるVIM4の新しいリビジョンでは搭載される可能性があるようです。ただし、それなりにCPU/GPUがパワフルなので、軽量なモデルあれば十分に動作させることができます。

NPUとは

Neural Processing Unitの略で、おもに機械学習やディープラーニング等の処理を高速に処理できるよう設計されたプロセッサーです。CPU/GPUに並び機械学習用途の場合主に速度面でのアドバンテージがあります。

ソフトウェア

VIM4では本体に搭載されている OOWOW と呼ばれる管理ツールを起動時に本体横のボタン操作で起動することができます。

このOOWOWではeMMCストレージへのOS書き込みや、レスキュー用のシェル起動などの便利機能が用意されており、VIM4単体でのセットアップが可能となっています。

用意されているOS

2022/05/22時点では以下のOSを選択することができます。

  1. Android 11(32Bit)
  2. Ubuntu 22.04(Kernel 5.4) デスクトップ環境
  3. Ubuntu 22.04(Kernel 5.4) サーバー用

起動するとシンプルなメニュー画面が表示されるので、OSのセットアップが可能です。

Ubuntu

インストール完了後は普通のLinuxマシンとして利用することが可能です。ラズベリーパイと比較するとスペックの違いからもかなりサクサク動作する印象を受けます。

普通のLinuxマシンとして使えるので、それほど言う事が無い!

デフォルトユーザーとパスワード
ユーザー名、パスワード共に khadas です。SSHも自動で有効となっているため、セットアップ完了後はパスワードを変更することを強く推奨します。

GPIO

若干クセが強いように思いますが、GPIOはもちろん利用可能です。ピン配列は以下の通りとなっており、ごく一部のピンはラズベリーパイと同様ですが互換性はありません。

インタフェース

5v, 3.3v以外にも1.8v電源や I2C, I2S, ADC, UART, PWM あたりが用意されています。

Choromium をインストール

現在最も利用されているブラウザChromeとほぼ同じブラウザであるChromiumを利用する事ができます。インストールは以下のコマンドをターミナルで実行します。

sudo apt install -y chromium-browser

動画を再生してみるとChromiumが最適化されていないためか、4Kではフレームドロップが発生しました。しかし1080pでは全く問題無く再生できました。

ハードウェア構成を考えると再生に問題が発生するとは考えにくいので、ここは今後に期待する部分です。ちなみにAndroidで再生した方がスムーズでした。

Android

VIM4ではAndroid を利用することができます。

MEMO

2022/05/22 時点でバージョンは Android 11 が採用されています。

HDMI入力

他のデバイスから出力されたHDMI入力をそのまま画面に表示できます。Ubuntuでも使えるようになるのが待ち遠しい。。。

UbuntuでのHDMI入力
記事執筆時点ではLinuxでのHDMI入力はサポートされていません。
https://forum.khadas.com/t/hdmi-in-on-linux/15568

ラズベリーパイ4と比較

ハードウェア性能は完全にVIM4が上回っていますが、ソフトウェア的な部分ではまだまだラズベリーパイの方が充実しているケースがあります。しかし、CPUはクロックも高い上にコア数も2倍搭載されているため性能的にVIM4が圧倒的に有利である事は変わらず、ラズベリーパイではちょっと遅いなという高負荷アプリに適しているように思います。

また、VIM4は内蔵ストレージとして32GB eMMCが搭載されているためMicroSDカードを用意する必要がありません。地味に助かります。

Raspberry Pi 4 Model B Khadas Vim 4
CPU 4 core Cortex-A72@1.5GHz 4 core A73@2.2GHz +
4 core A53@2.0GHz
GPU Broadcom VideoCore VI Mali G52MP8(8EE) 800Mhz
メモリ 2~8GB LPDDR4-3200 8GB LPDDR4X (Up to 2016MHz)
内蔵ストレージ 無し 32GB eMMC
電源 USB-C 5V 3A USB-C PD(24W)
その他 ジャイロセンサー
マイク
M.2コネクター
OS Raspberry Pi OS
Ubuntu
Manjaro ARM Linux
その他多数
Android 11
Ubuntu
価格 $75(8GB) $219
価格
ラズベリーパイはもっとメモリの少ない2GBモデルが$45から販売されているので、コスパはかなり良いです。
MEMO

Raspberry Pi でも Compute Module という組み込み向けのボードではeMMCが搭載されているものがあります。

価格

現時点ではファンとヒートシンクが付属するキットとボード単体版の2種類が販売されておりボードのみは 28,000円キットでは 32,000円となっています。

高スペック!値段!インタフェース充実!

入門用として

VIM4はスペックやインタフェースの充実っぷりからも伝わるように、かなり本格的なSBCです。入門用としては若干オーバースペック気味ですが、OOWOWのようなツールがプリインストールされていることでセットアップが簡単になり、トライアンドエラーがしやすいと思います。

Amazon | Khadas VIM4 Amlogic A311D2 シングルボードコンピュータ SBC 4K UI HDMI入力 3つディスプレイ接続可能 LAN WiFi 6 Bluetooth 5.1 8GB LPDDR4X RAM Mali-G52 MP8(8EE) GPU ゲーム/プログラミング | Khadas | TVチューナー・キャプチャーボード 通販
Khadas VIM4 Amlogic A311D2 シングルボードコンピュータ SBC 4K UI HDMI入力 3つディスプレイ接続可能 LAN WiFi 6 Bluetooth 5.1 8GB LPDDR4X RAM Mali-G52 MP8(8EE) GPU ゲーム/プログラミングがTVチューナー・キャプチャーボードストアでいつでもお買い得。当日お急ぎ便対象商品は、当日お届け可能です。アマゾン配送商品は、通常配送無料(一部除く)。

ユースケース

デスクトップマシンとして

本格的なデスクトップマシンと見比べると劣るものの、手のひらサイズの省スペースデバイスと考えるとほとんどのケースで必要十分な性能を持っています

OS に Ubuntu を選択可能なので、普通のLinuxマシンとして利用したり、Chromium, VS Code, Docker等を利用して開発の学習用のマシンとしても使えます。

VIM4 - Ubuntu で VS Codeを起動した状態

デフォルトで入っているブラウザFireFoxは残念ながらそのままでは起動しませんが以下のコマンドを実行すると起動できるようになります。VIM4はリリース直後の段階にあり、今後こういった問題は修正されていくものと思います。

sudo apt update
sudo apt upgrade
sudo snap install firefox
firefox を使えるようにする

ブラウザ無いと困るよ!

小型サーバー

MicroSD/USB/NVMe SSD等のストレージを接続可能なので、家庭や小規模オフィスのファイルサーバ、VPNサーバ、高性能なエッジデバイスとして利用できそうです。

MEMO

CPU性能やメモリ容量も比較的余裕があるので、Docker等を利用したシステム構成も十分に可能です。

デジタルサイネージデバイス

映像や広告を流すだけにしておくにはもったいない程の性能ですが、店舗のディスプレイや広告用のモニターなどへの利用も想定されています。

また、GPIOピンもあり、何らかの制御が必要なデバイスにも対応する事ができます。

Amazon | Khadas VIM4 Amlogic A311D2 シングルボードコンピュータ SBC 4K UI HDMI入力 3つディスプレイ接続可能 LAN WiFi 6 Bluetooth 5.1 8GB LPDDR4X RAM Mali-G52 MP8(8EE) GPU ゲーム/プログラミング | Khadas | TVチューナー・キャプチャーボード 通販
Khadas VIM4 Amlogic A311D2 シングルボードコンピュータ SBC 4K UI HDMI入力 3つディスプレイ接続可能 LAN WiFi 6 Bluetooth 5.1 8GB LPDDR4X RAM Mali-G52 MP8(8EE) GPU ゲーム/プログラミングがTVチューナー・キャプチャーボードストアでいつでもお買い得。当日お急ぎ便対象商品は、当日お届け可能です。アマゾン配送商品は、通常配送無料(一部除く)。
Amazon.co.jp の商品ページ

マイニングでは?

あまり現実的ではないですが、試しにMoneroをマイニングしてみました。比較として普段使っているMacStudio (M1 Max) と比べるとおよそ1コア分より少し低い値となりました。

VIMは4つの高性能コア+4つの高効率コアで構成されており、高性能コアでは 50~60 H/s でしたが、高効率コアでは 40 H/s 程度となりました。

MEMO

マイニングではM1の高性能コア1コアに迫る性能となり、SBCとしては相当パワフルです。

安定性を確かめるため、24時間程連続稼働させてみましたが問題は発生しませんでした。ただし、ファンは常時動作している状態になるため、ベッド横等の静かさが重要な環境では気になる場合もあるかもしれません。

MEMO

仮想通貨のマイニングはシングルボードコンピューターのような小さな計算能力であっても行うことは可能ですが、収益的に全く美味しくないため通常はこのようなデバイスでマイニングをすることはほとんどありません。

[2022-05-25 11:07:10.740]  miner    speed 10s/60s/15m 307.9 307.9 n/a H/s max 313.8 H/s
|    CPU # | AFFINITY | 10s H/s | 60s H/s | 15m H/s |
|        0 |        0 |   55.01 |   55.27 |     n/a |
|        1 |        1 |   57.54 |   57.73 |     n/a |
|        2 |        2 |   53.96 |   53.89 |     n/a |
|        3 |        3 |   58.38 |   58.27 |     n/a |
|        4 |        4 |   41.65 |   41.70 |     n/a |
|        5 |        5 |   40.92 |   40.92 |     n/a |
|        - |        - |   307.5 |   307.8 |     n/a |
[2022-05-25 11:07:21.851]  miner    speed 10s/60s/15m 307.5 307.8 n/a H/s max 313.8 H/s
VIM4 での xmrig - 55 H/s (高性能1コアあたり)
[2022-05-24 23:11:22.210]  miner    speed 10s/60s/15m 3075.4 n/a n/a H/s max 3093.8 H/s
|    CPU # | AFFINITY | 10s H/s | 60s H/s | 15m H/s |
|        0 |        0 |   384.6 |   373.9 |     n/a |
|        1 |        1 |   389.5 |   377.8 |     n/a |
|        2 |        2 |   382.9 |   372.1 |     n/a |
|        3 |        3 |   386.4 |   375.7 |     n/a |
|        4 |        4 |   385.8 |   376.3 |     n/a |
|        5 |        5 |   386.4 |   376.2 |     n/a |
|        6 |        6 |   381.8 |   370.9 |     n/a |
|        7 |        7 |   384.4 |   372.4 |     n/a |
|        - |        - |  3081.8 |  2995.3 |     n/a |
[2022-05-24 23:11:24.803]  miner    speed 10s/60s/15m 3081.8 2995.3 n/a H/s max 3093.8 H/s
参考:MacStudio M1 の xmrig - 385 H/s (1コアあたり)

おまけ

コマンドの実行結果を載せておきます。

uname -a

khadas@Khadas:~$ uname -a
Linux Khadas 5.4.125 #1.0.10 SMP PREEMPT Mon Apr 25 13:56:56 CST 2022 aarch64 aarch64 aarch64 GNU/Linux

sysbench

khadas@Khadas:~$ sysbench --test=cpu run
WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time


Prime numbers limit: 10000

Initializing worker threads...

Threads started!

CPU speed:
    events per second:  2031.94

General statistics:
    total time:                          10.0005s
    total number of events:              20323

Latency (ms):
         min:                                    0.49
         avg:                                    0.49
         max:                                    1.02
         95th percentile:                        0.49
         sum:                                 9981.64

Threads fairness:
    events (avg/stddev):           20323.0000/0.00
    execution time (avg/stddev):   9.9816/0.00

khadas@Khadas:~$ sysbench --num-threads=4 --test=cpu --cpu-max-prime=20000 --validate run
WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.
WARNING: --num-threads is deprecated, use --threads instead
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)

Running the test with following options:
Number of threads: 4
Validation checks: on.

Initializing random number generator from current time


Prime numbers limit: 20000

Initializing worker threads...

Threads started!

CPU speed:
    events per second:  3325.37

General statistics:
    total time:                          10.0006s
    total number of events:              33260

Latency (ms):
         min:                                    1.19
         avg:                                    1.20
         max:                                    2.53
         95th percentile:                        1.21
         sum:                                39971.21

Threads fairness:
    events (avg/stddev):           8315.0000/25.17
    execution time (avg/stddev):   9.9928/0.00

lscpu

khadas@Khadas:~$ lscpu 
Architecture:           aarch64
  CPU op-mode(s):       32-bit, 64-bit
  Byte Order:           Little Endian
CPU(s):                 8
  On-line CPU(s) list:  0-7
Vendor ID:              ARM
  Model name:           Cortex-A73
    Model:              2
    Thread(s) per core: 1
    Core(s) per socket: 4
    Socket(s):          1
    Stepping:           r0p2
    CPU max MHz:        2208.0000
    CPU min MHz:        500.0000
    BogoMIPS:           48.00
    Flags:              fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
  Model name:           Cortex-A53
    Model:              4
    Thread(s) per core: 1
    Core(s) per socket: 4
    Socket(s):          1
    Stepping:           r0p4
    CPU max MHz:        2016.0000
    CPU min MHz:        500.0000
    BogoMIPS:           48.00
    Flags:              fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
Vulnerabilities:        
  Itlb multihit:        Not affected
  L1tf:                 Not affected
  Mds:                  Not affected
  Meltdown:             Not affected
  Spec store bypass:    Vulnerable
  Spectre v1:           Mitigation; __user pointer sanitization
  Spectre v2:           Vulnerable
  Srbds:                Not affected
  Tsx async abort:      Not affected

df -h

しばらく使った後なので、インストール直後はもっとディスクが空いてます。

khadas@Khadas:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           796M  9.9M  786M   2% /run
/dev/rootfs      29G  4.5G   24G  16% /
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           3.9G     0  3.9G   0% /tmp
tmpfs           796M   68K  796M   1% /run/user/1000
khadas@Khadas:~$ 
MEMO

この記事は YouTube用にKhadasから提供されたVIM4を勝手に個人的に記事にしたものです。なので別に作らなくても良い記事を勝手に作ったので、商品提供かといわれると、そうでもないような気がするものの、まぁ微妙かなと思いここに記しておきます。

この記事は 2022/05/22 時点の Khadas VIM4 で動作確認を行いました。この記事公開後のリビジョンやソフトウェアバージョンでは結果が異なる場合があります。
記事の内容は間違いが無いように気をつけていますが、私の認識違いや、ミスなどにより間違っている可能性もあります。もし発見された場合はお問い合わせフォームよりご連絡頂けると幸いです。