SiMa.ai(以降SiMa)はGPU(グラフィックス処理ユニット)を提供するα社の性能に匹敵する、エッジでのAIに強みを持ったデバイスです。そんなSiMaのMLSoC(Machine Learning System-on-Chip)を実際に使ってみたいという声も上がっています。今回は、α社のGPUで動作していたモデルをSiMaに移植し、実際に動かす方法をご紹介いたします。
移植の手順は以下の通りです。
なお、今回デモ動画結果は以下です。
α社動画
SiMa動画
開発・評価をするためのボードとホストマシンの環境構築について
3ページに分けてご紹介いたします。
1-2. SiMa開発キットの環境構築
次は、SiMaボードのファームウェアとソフトウェアを最新のバージョンに更新します。
まず、現在のボードのファームウェアバージョンを確認します。
※ すでに、SIMA_BUILD_VERSIONが1.4.0_master_B1230となっている場合、この手順は必要ないので、スキップできます。
事前にSSH接続し、以下コマンドを実行してください。
davinci:~$ cat /etc/build
-----------------------
Build Configuration: |
-----------------------
DISTRO = poky
DISTRO_VERSION = 4.0.10
MACHINE = davinci
DATE = 20240515
TIME = 073358
SIMA_BUILD_VERSION = 1.3.0_master_B1036
-----------------------
Layer Revisions: |
-----------------------
meta = kirkstone:1e6f147c686a91b9a5996f529e32ee1852f946b7
meta-poky = kirkstone:1e6f147c686a91b9a5996f529e32ee1852f946b7
meta-yocto-bsp = kirkstone:1e6f147c686a91b9a5996f529e32ee1852f946b7
meta-simaai = master:c983aa4923bb4ae98a70b8f9ea7407fd574b68b1 -- modified
meta-oe = kirkstone:f95484417e3d3e65ca15b460ba71dfd35773f0e4
meta-python = kirkstone:f95484417e3d3e65ca15b460ba71dfd35773f0e4
meta-networking = kirkstone:f95484417e3d3e65ca15b460ba71dfd35773f0e4
meta-swupdate = kirkstone:d1d4abfaf82d37c31e3cec3602d6d8d56d105185
Developer Portalの「Firmware and Board Software Update」の「Downloading the SiMa MLSoC Images」からSiMa MLSoCイメージファイルをダウンロードできます。
※ SiMa HPのDeveloper Portalに登録することで閲覧およびダウンロードができるようになります。
登録しても見れない場合は、新光商事までお問い合わせください
「Download Now」をクリックすると.tarファイルがダウンロードされます。
ダウンロードした.tarファイルを解凍するために、別のターミナルウィンドウで以下コマンドを実行してください。
sima-user@sima-user-machine:~$ cd Downloads/
sima-user@sima-user-machine:~/Downloads$ tar -xvf MLSoC1.4_Firmware.tar
sima-user@sima-user-machine:~/Downloads$ cd MLSoC1.4_Firmware
ファームウェアを更新するために、tRootファイルをボードにコピーします。以下コマンドを実行してください。
sima-user@sima-user-machine:~/Downloads/MLSoC1.4_Firmware$ scp troot-upgrade-simaai-ev.swu sima@{Board IP Address}:/tmp
sima@{Board IP Address}:'s password:
troot-upgrade-simaai-ev.swu 100% 0 0.0KB/s 00:00
ボード上のデフォルトのSiMaユーザーのパスワードはedgeaiでなので、passwordにedgeaiを入力してください。
先ほどのminicomのウィンドウにてアップデートのために、以下コマンドを実行してください。
davinci:~$ cd /tmp
davinci:/tmp$ sudo swupdate -v -H simaai-image-troot:1.0 -i /tmp/troot-upgrade-simaai-ev.swu
SWUpdate v2023.05-dirty
Licensed under GPLv2. See source distribution for detailed copyright notices.
[TRACE] : SWUPDATE running : [print_registered_bootloaders] : Registered bootloaders:
[TRACE] : SWUPDATE running : [print_registered_bootloaders] : uboot loaded.
[INFO ] : SWUPDATE running : [main] : Using default bootloader interface: uboot
[INFO ] : SWUPDATE running : [main] : Running on simaai-image-troot Revision 1.0
...
[INFO ] : SWUPDATE successful ! SWUPDATE successful !
[TRACE] : SWUPDATE running : [network_initializer] : Main thread sleep again !
[INFO ] : No SWUPDATE running : Waiting for requests...
[INFO ] : SWUPDATE running : [endupdate] : SWUpdate was successful !
[DEBUG] : SWUPDATE running : [postupdate] : Running Post-update command
成功メッセージが表示されたら、ボードをリブート(電源再投入)してください。
※ 更新が完了するまでに10分以上かかる場合があります。
ファームウェアと同様にYocto Linuxイメージを更新するために、ファイルをボードにコピーします。
以下コマンドを実行してください。
sima-user@sima-user-machine:~/Downloads/MLSoC1.4_Firmware$ scp simaai-image-palette-upgrade-davinci.swu sima@{Board IP Address}:/tmp
sima@{Board IP Address}:'s password:******
simaai-image-palette-upgrade-davinci.swu 100% 0 0.0KB/s 00:00
ボード上のデフォルトのSiMaユーザーのパスワードはedgeaiでなので、passwordにedgeaiを入力してください。
先ほどのminicomのウィンドウにてアップデートのために、以下コマンドを実行してください。
davinci:~$ cd /tmp
davinci:/tmp$ sudo swupdate -v -H simaai-image-palette:1.0 -i /tmp/simaai-image-palette-upgrade-davinci.swu
更新後、自動的に再起動されます。
アップデートを確認するために、冒頭と同様に以下コマンドを実行してください。
davinci:~$ cat /etc/build
-----------------------
Build Configuration: |
-----------------------
DISTRO = poky
DISTRO_VERSION = 4.0.10
MACHINE = davinci
DATE = 20240917
TIME = 210846
SIMA_BUILD_VERSION = 1.4.0_master_B1230
-----------------------
Layer Revisions: |
-----------------------
meta = kirkstone:1e6f147c686a91b9a5996f529e32ee1852f946b7
meta-poky = kirkstone:1e6f147c686a91b9a5996f529e32ee1852f946b7
meta-yocto-bsp = kirkstone:1e6f147c686a91b9a5996f529e32ee1852f946b7
meta-simaai = master:6ebb42c489f4fc53d3fc6386689baa6dc3ae5c0f -- modified
meta-oe = kirkstone:f95484417e3d3e65ca15b460ba71dfd35773f0e4
meta-python = kirkstone:f95484417e3d3e65ca15b460ba71dfd35773f0e4
meta-networking = kirkstone:f95484417e3d3e65ca15b460ba71dfd35773f0e4
meta-swupdate = kirkstone:d1d4abfaf82d37c31e3cec3602d6d8d56d105185
バージョンが1.4.0_master_B1230であればOKです。
次の章では、ホストマシンの環境構築についてご紹介いたします。