トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

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  */

とすると実行できる.