WSL2上にXilinxのFPGA開発環境を整備しようとしてXilinx Runtime(XRT)を無理やりビルドした時の備忘録です。ビルド時のテストはPassしていたようですが、きちんと動作するかは確かめていません。
Qiita初投稿なので見にくいところ等あると思いますがご容赦ください。
はじめに
留意点
この手順には
の条件が必要となります。
また、本来ならばxrtdeps.sh
を走らせた際にOpenCLがインストールされる可能性があるため②の手順は必要ないかもしれません。
(xrtdeps.sh
が正しく機能していないことに気付いたのは②を終えてからだった……)
やったこと
⓪環境
Windows : Windows10 Pro バージョン21H2 (OSビルド 19044.1526)
WSL2 : Ubuntu 18.04.06 LTS
GPU:Nvidia GeForce RTX 2060 SUPER
①GPUをWSL2でも使用できるようにする
Nvidiaの説明に従ってCUDAをWSL2で利用できるようにします。
4.2.6. Building Your Own GPU-accelerated Application on WSL 2の"Option 1: Using the WSL-Ubuntu Package"まで完了すればよいです。
②OpenCLをWSL2にインストールする
sudo apt install nvidia-opencl-dev
でインストール可能です。
③XRTが必要とするパッケージをインストールする
XRTのリポジトリにあるxrtdeps.sh
の中のub_package_list()
を手動でインストールします。(WSL2だとスクリプト中のvalidateで弾かれて必要なパッケージがインストールされないようです)
執筆時点のパッケージ一覧
cmake \
cppcheck \
curl \
dkms \
g++ \
gcc \
gdb \
git \
gnuplot \
graphviz \
libboost-dev \
libboost-filesystem-dev \
libboost-program-options-dev \
libcurl4-openssl-dev \
libdrm-dev \
libdw-dev \
libelf-dev \
libffi-dev \
libgtest-dev \
libjpeg-dev \
libjson-glib-dev \
libncurses5-dev \
libopencv-core-dev \
libpng-dev \
libprotoc-dev \
libssl-dev \
libsystemd-dev \
libtiff5-dev \
libudev-dev \
libyaml-dev \
linux-libc-dev \
lm-sensors \
lsb-release \
make \
ocl-icd-dev \
ocl-icd-libopencl1 \
ocl-icd-opencl-dev \
opencl-headers \
pciutils \
perl \
rapidjson-dev \
pkg-config \
protobuf-compiler \
python3 \
libpython3-dev \
python3-breathe \
python3-pip \
python3-sphinx \
python3-sphinx-rtd-theme \
sphinx-common \
strace \
unzip \
uuid-dev
④XRTをビルドする
公式の手順通りbuild.sh
を走らせてビルドします。
以上です。完了後はPCを再起動したほうがいいかもしれません。
参考にさせていただいたリンク
- CmdStanRでGPU(OpenCL)を使う:OpenCLをインストールするのに参考にさせていただきました。