Pixel2 → Pixel Visual Core → Halideあたりを調べていたら、ちょうどFixstarsからHalide to FPGAという環境がリリースされた。
ターゲットがZedBoardだし、お、ちょうど面白そうと思って早速中身を見てみた。
Halide to FPGA via kwout
最初は、CPUでのテスト環境を試行してみる。
- CPU上での開発: Halide to FPGA
HalideのビルドからLLVMのビルドまで一応フルスクラッチで作ってみた。
最初にLLVMをインストールしておく必要がある。これも一応フルスクラッチ。
svn co https://llvm.org/svn/llvm-project/llvm/branches/release_39 llvm3.9 svn co https://llvm.org/svn/llvm-project/cfe/branches/release_39 llvm3.9/tools/clang cd llvm3.9 mkdir build cd build cmake -DLLVM_ENABLE_TERMINFO=OFF -DLLVM_TARGETS_TO_BUILD="X86;ARM;NVPTX;AArch64;Mips;PowerPC" -DLLVM_ENABLE_ASSERTIONS=ON -DCMAKE_BUILD_TYPE=Release .. make -j4
環境変数を通しておく。
export LLVM_CONFIG=/home/msyksphinz/work/software/llvm3.9/build/bin/llvm-config export CLANG=/home/msyksphinz/work/software/llvm3.9/build/bin/clang
次にHalideのビルドを行う。
Halideのリビジョンは最新のTagに合わせておかないとどうもコンパイルが成功しそうにない。そんなもんなの?
git clone https://github.com/halide/Halide.git cd Halide git checkout release_2017_05_03 make -j4
こちらも環境変数を通しておく。
export HALIDE_ROOT=/home/msyksphinz/work/software/Halide
Halide To FPGAの環境をチェックアウトしてくる。
git clone git@github.com:fixstars/Halide-elements.git cd Halide-elements cd src/convolution make
これで一応ビルドは出来たので、convolution_test
を実行してみた。
./convolution_test Success!
まあここまでは良いのだけど、問題はFPGAのイメージだ。とりあえずポータルサイトに行ってみたのだが、イメージがダウンロードできない。 なんかそもそもポータルページに不具合があるのか、何度もログインしても勝手にログアウトされてしまう。何だこりゃ?
ポータルサイトが安定するまでちょっと作業は放置しよう。