Diary/2019-4-11
KCU1500あれこれ
AWS F1のドキュメントのステップがわかりやすい
https://github.com/Xilinx/SDAccel-Tutorials/blob/master/docs/aws-getting-started/RTL/STEP2.md
ただし,問題が二つ
- (1) Ubuntu 16.04で実行する場合,Hardware-Emuのリンクに失敗する
libdpi.soのリンクで失敗しているっぽい.
https://forums.xilinx.com/t5/SDAccel/SDAccel-2018-2-fail-to-link-libdpi-so/m-p/869847#M2215
を参考に
export CPATH=/usr/include/x86_64-linux-gnu
としてsdxを起動すればよい
- (2) GUIでビルドしたバイナリだと,謎のエラーで実行できない.
# ./vadd_rtl.exe Found Platform Platform Name: Xilinx XCLBIN File Name: vadd *** invalid %N$ use detected *** Aborted (core dumped)
どうやら,xcl2.cで定義されてるfind_binary_fileで使っているsnprintfが悪いらしい.
https://forums.xilinx.com/t5/SDAccel/SDAccel-Examples-run-fail-on-KCU1500/td-p/835152
を参考に,host.cppでバイナリファイルを開くところで
/* skipping find_binary_file, which causes issues with snprintf in line 194 of xcl2.cpp */ /* std::string binaryFile = xcl::find_binary_file(device_name,"vector_addition"); */ std::string binaryFile = argv[1]; /* simply take the command line argument */
とすると実行できる.