TVM VTAに関するメモ書き

TVM VTAに関してのメモ書き。2021/4/29現在の情報。 Q. どのボードを選ぶべきか A. PYNQ-Z1がおすすめ 現時点VTAのInstallページには、PYNQ-Z1とDE10-Nanoのセットアップ手順が書かれている。 しかしDE10-Nanoは手元で試した限り、LinuxのCMA(Contiguous Memory Allocation)周りが正しく設定されていないようで動かなかった。 TVM Community Discussionを見ても動かない旨の報告がある。 一方PYNQ-Z1は、セットアップ手順通りに進めれば動いた。 VTAをとりあえず試してみたいという目的であれば、PYNQ-Z1がおすすめ。 mainブランチで動かない可能性がある 最近VTA周りの変更が多く、かつVTAのテストケースが貧弱のため、mainブランチでVTAが動かない事がよくある。 手順通りに進めてもエラーが出るのであれば、古いコミットを試すとよい。

2021-04-29 Thu ·     "Masahiro Hiramori"

DE10-NanoにTVM VTAのRPC Serverを導入する

Terasic DE10-NanoにTVM VTAのRPC Serverを導入したので作業メモ。 DE10-Nanoセットアップに従う 必要なもの DE10-Nano microSDカード 8GB以上推奨、microSDXC非対応な気がするので注意 microUSBケーブル シリアル通信に必要 LANケーブル ネットワークに繋ぐのに必要 DE10-Nanoのセットアップ まずはTerasicのページからAngstrom Linuxイメージをダウンロードする。 de10-nano-image-Angstrom-v2016.12.socfpga-sdimg.2017.03.31.tgz ダウンロードしたファイルをmicroSDに書き込む。Win32DiskImagerを使用。 DE10-Nanoに電源ケーブルを接続、microSDをDE10-Nanoに挿入、microUSBケーブルでDE10-NanoとPCを接続する。 PC上でターミナルエミュレータでDE10-Nanoに接続する。TeraTermを使用。 ユーザ名:root、パスワードなしでログインする。 以降はDE10-Nano上で実行する。 パッケージ導入 システムパッケージをアップデートし、必要なパッケージを導入する。 opkg update opkg upgrade opkg install cmake coreutils Python導入 Angstrom Linuxに入っているPythonは古すぎるので、Pythonソースビルドする。 ソースコードをダウンロードし、ビルド、インストールする。 mkdir ~/workspace cd ~/workspace curl -O https://www.python.org/ftp/python/3.8.8/Python-3.8.8.tgz tar xvf Python-3.8.8.tgz cd Python-3.8.8 ./configure make make install python、python3コマンドのシンボリックリンクを導入したPythonに置き換える。 rm /usr/bin/python ln -s /usr/local/bin/python3.8 /usr/bin/python rm /usr/bin/python3 ln -s /usr/local/bin/python3.8 /usr/bin/python3 pipを最新バージョンに更新する。 /usr/local/bin/python3 -m pip install --upgrade pip Git導入 Angstrom Linuxから導入できるGitはバージョンが古いので、これもソースビルドする。...

2021-04-12 Mon ·     "Masahiro Hiramori"

TVM v0.7ビルド手順

CAUTION 少し古い情報(2020/9頃)のため、2021/01/16時点では不要な情報の可能性が高いが、記録のために残しておく。 ビルド sudo apt-get update sudo apt-get install -y python3 python3-dev python3-setuptools gcc libtinfo-dev zlib1g-dev build-essential cmake libedit-dev libxml2-dev ninja-build cd ~/workspace git clone https://github.com/llvm/llvm-project.git cd llvm-project && git checkout llvmorg-10.0.1 && cd .. TVMとONNX-MLIRを共存するために、ONNX-MLIRが依存する[email protected](未リリースのバージョン)を使ってTVMをビルドすると、ビルドエラーが発生する。(後述) cd ~/workspace git clone --recursive https://github.com/apache/incubator-tvm tvm mkdir build cp cmake/config.cmake build cd build vim config.cmake # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership....

2021-01-16 Sat ·     "Masahiro Hiramori"