まずは、Windows Subsystem for Linux & bash をインストールします。
Build Troubleshooting Tiramisu (Build Troubleshooting)に従い、各種インストールします。
% sudo apt-get install autoconf libtool cmake llvm-5.0 clang-5.0 $ sudo apt-get install libz-dev (Halideをビルドするときに、libz が必要になります)
次に、Tiramisu をクローンします。
% git clone https://github.com/rbaghdadi/tiramisu.git % cd tiramisu
次に、ISL をダウンロードし、ビルドします。
環境変数 LD_LIBRARY_PATH が設定されていないときは、 /usr/lib:/lib を LD_LIBRARPY_PATH に設定しておきましょう。 % export LD_LIBRARY_PATH=/usr/lib:lib
ISL のダウンロード、ビルド、インストール。
% ./get_and_install_isl.sh
Tiramisu用のHalide をダウンロードの準備をします。
LLVM-5.0/clang-5.0をインストールしたので、get_and_install_halide.sh の
export CLANG=${LLVM_CONFIG_BIN}clang export LLVM_CONFIG=${LLVM_CONFIG_BIN}llvm-config を export CLANG=${LLVM_CONFIG_BIN}clang-5.0 export LLVM_CONFIG=${LLVM_CONFIG_BIN}llvm-config-5.0 に変更します。
Tiramisu用のHalide をダウンロードします。
get_and_install_halide.sh を実行するとエラーになったので、下記のコマンドでダウンロードします。
Tiramisu用のHalideを使います。
get_and_install_halide.sh を実行するとエラーになったので、下記のコマンドでダウンロードします。
Tiramisu用のHalideを使います。
% git clone -b tiramisu_64_bit https://github.com/jrayzero/Halide.git
get_and_install_halide.sh の下記の行をコメントアウトします。
# git submodule update --init --remote # git checkout tiramisu # git pull
Tiramisu用のHalide をビルドします。
% ./get_and_install_halide.shエラーがでても、libHalide.so ができれば、OK!
最後に、tiramisu をビルドの準備をします。
% sudo apt-get install libpng16-devtools libjpeg-dev これをインストールしないと、にエラーになります。また、CMakeLists.txt の
execute_process(COMMAND ${LLVM_CONFIG_BIN}llvm-config --ignore-libllvm --system-libs OUTPUT_VARIABLE LLVM_FLAGS) を execute_process(COMMAND ${LLVM_CONFIG_BIN}llvm-config-5.0 --ignore-libllvm --system-libs OUTPUT_VARIABLE LLVM_FLAGS) に変更します。 llvm-config-5.0 をインストールしたためです。
configure.cmake ファイルの
cmakeコマンドを実行して、Makefileの生成します。
% cmake . % make -j tiramisu isl_id_xxxx 関数が無いというエラーが発生する。これに対応するために、include/tiramisu/core.h に #include <isl/set.h> の後に、 #include <isl/id.h> を追加します。もしかしたら、エラーは発生しないかもしれません。
ビルドに成功すると、
build/libtiramisu.so
が生成されます。
以下、いろいろテスト。
チュートリアルの実行
% make run_tutorial_XX OK = 01, 03, 05, 06, 08, 09, 10 NG = 02 ( テスト内容がGPUのため、テスト環境ではGPUを搭載していない) 実行無し(ソースコードも無い) = 04, 07
テストの実行
% make test 92% tests passed, 13 tests failed out of 164 The following tests FAILED: 2 - global (SEGFAULT) 33 - 17_build (Failed) 34 - 17 (Not Run) 149 - 89_build (Failed) 150 - 89 (Not Run) 157 - 98_build (Failed) 158 - 98 (Not Run) 159 - 99_build (Failed) 160 - 99 (Not Run) 161 - 100_build (Failed) 162 - 100 (Not Run) 163 - 101_build (Failed) 164 - 101 (Not Run) 2は、test_02.cpp で不明 33/34は、test_17.cpp で、GPU 149/150は、test_89.cpp で不明 157-164は、test_98,99,100,101.cpp で、分散処理。
benchmarkの実行
% make benchmarks
docの生成
% sudo apt-get install doxygen % make doc
以上、