セットアップにはUG1370(j_ug1370-u50-installation.pdf)を参考にします。
下記のURLからXRTをインストールします。
https://japan.xilinx.com/products/boards-and-kits/alveo/u50.html#gettingStarted
ダウンロードしたファイルは下記のファイル名です。
xrt_201920.2.3.1301_18.04-xrt.deb
次のようにXRTをインストールします。
$ sudo apt install ./xrt_201920.2.3.1301_18.04-xrt.deb
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
注意、'./xrt_201920.2.3.1301_18.04-xrt.deb' の代わりに 'xrt' を選択します
以下のパッケージが新たにインストールされます:
xrt
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
8,920 kB 中 0 B のアーカイブを取得する必要があります。
この操作後に追加で 46.1 MB のディスク容量が消費されます。
取得:1 /home/hidemi/Downloads/xrt_201920.2.3.1301_18.04-xrt.deb xrt amd64 2.3.1301 [8,920 kB]
以前に未選択のパッケージ xrt を選択しています。
(データベースを読み込んでいます ... 現在 306228 個のファイルとディレクトリがインストールされています。)
.../xrt_201920.2.3.1301_18.04-xrt.deb を展開する準備をしています ...
xrt (2.3.1301) を展開しています...
xrt (2.3.1301) を設定しています ...
Unloading old XRT Linux kernel modules
rmmod: ERROR: Module xocl is not currently loaded
rmmod: ERROR: Module xclmgmt is not currently loaded
Invoking DKMS common.postinst for xrt
Loading new xrt-2.3.1301 DKMS files...
Building for 5.0.0-37-generic
Building initial module for 5.0.0-37-generic
Secure Boot not enabled on this system.
Done.
xocl:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/5.0.0-37-generic/updates/dkms/
xclmgmt.ko:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/5.0.0-37-generic/updates/dkms/
depmod...
DKMS: install completed.
Finished DKMS common.postinst
Loading new XRT Linux kernel modules
Installing MSD / MPD daemons
Skipping pyopencl installation...
ダウンロードしたファイルは下記のファイル名です。
xilinx-u50-xdma-201920.1-2699728_18.04.deb
$ sudo apt install ./xilinx-u50-xdma-201920.1-2699728_18.04.deb
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
注意、'./xilinx-u50-xdma-201920.1-2699728_18.04.deb' の代わりに 'xilinx-u50-xdma' を選択します
以下のパッケージが新たにインストールされます:
xilinx-u50-xdma
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
67.8 MB 中 0 B のアーカイブを取得する必要があります。
この操作後に追加で 0 B のディスク容量が消費されます。
取得:1 /home/hidemi/Downloads/xilinx-u50-xdma-201920.1-2699728_18.04.deb xilinx-u50-xdma all 201920.1-2699728 [67.8 MB]
以前に未選択のパッケージ xilinx-u50-xdma を選択しています。
(データベースを読み込んでいます ... 現在 306541 個のファイルとディレクトリがインストールされています。)
.../xilinx-u50-xdma-201920.1-2699728_18.04.deb を展開する準備をしています ...
xilinx-u50-xdma (201920.1-2699728) を展開しています...
xilinx-u50-xdma (201920.1-2699728) を設定しています ...
DSA package installed successfully.
Please flash card manually by running below command:
sudo /opt/xilinx/xrt/bin/xbmgmt flash --update --shell xilinx_u50_xdma_201920_1
次にファームウェアを書き込むようです。
$ sudo /opt/xilinx/xrt/bin/xbmgmt flash --update --shell xilinx_u50_xdma_201920_1
Status: shell needs updating
Current shell: xilinx_u50_GOLDEN_9
Shell to be flashed: xilinx_u50_xdma_201920_1
Are you sure you wish to proceed? [y/n]: y
Updating SC firmware on card[0000:01:00.0]
INFO: found 5 sections
..............................
INFO: Loading new firmware on SC
Updating shell on card[0000:01:00.0]
INFO: ***Found 507 ELA Records
Idcode byte[0] ff
Idcode byte[1] 20
Idcode byte[2] bb
Idcode byte[3] 21
Idcode byte[4] 10
Enabled bitstream guard. Bitstream will not be loaded until flashing is finished.
Erasing flash.........................
Programming flash.........................
Cleared bitstream guard. Bitstream now active.
Successfully flashed Card[0000:01:00.0]
1 Card(s) flashed successfully.
Cold reboot machine to load the new image on card(s).
ファームウェアが書き込めたらコールドスタートして、セットアップします。
$ source /opt/xilinx/xrt/setup.sh
XILINX_XRT : /opt/xilinx/xrt
PATH : /opt/xilinx/xrt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
LD_LIBRARY_PATH : /opt/xilinx/xrt/lib:
PYTHONPATH : /opt/xilinx/xrt/python:
もう一度、lspciで確認します。
$ sudo lspci -vd 10ee:
01:00.0 Processing accelerators: Xilinx Corporation Device 5020
Subsystem: Xilinx Corporation Device 000e
Flags: bus master, fast devsel, latency 0
Memory at a2000000 (64-bit, prefetchable) [size=32M]
Memory at a4000000 (64-bit, prefetchable) [size=128K]
Capabilities: [40] Power Management version 3
Capabilities: [60] MSI-X: Enable+ Count=33 Masked-
Capabilities: [70] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [1c0] #19
Capabilities: [e00] Access Control Services
Kernel driver in use: xclmgmt
Kernel modules: xclmgmt
01:00.1 Processing accelerators: Xilinx Corporation Device 5021
Subsystem: Xilinx Corporation Device 000e
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at a0000000 (64-bit, prefetchable) [size=32M]
Memory at a4020000 (64-bit, prefetchable) [size=64K]
Memory at 90000000 (64-bit, prefetchable) [size=256M]
Capabilities: [40] Power Management version 3
Capabilities: [60] MSI-X: Enable+ Count=33 Masked-
Capabilities: [70] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [e00] Access Control Services
Kernel driver in use: xocl
Kernel modules: xocl
カード情報を取得します。
$ sudo /opt/xilinx/xrt/bin/xbmgmt flash --scan
Card [0000:01:00.0]
Card type: u50
Flash type: SPI
Flashable partition running on FPGA:
xilinx_u50_xdma_201920_1,[ID=0x000000005daa78ef],[SC=5.0.13]
Flashable partitions installed in system:
xilinx_u50_xdma_201920_1,[ID=0x000000005daa78ef],[SC=5.0.13]
カードのテストを行ってみます。
$ /opt/xilinx/xrt/bin/xbutil validate
INFO: Found 1 cards
INFO: Validating card[0]: xilinx_u50_xdma_201920_1
INFO: == Starting AUX power connector check:
AUX power connector not available. Skipping validation
INFO: == AUX power connector check SKIPPED
INFO: == Starting PCIE link check:
INFO: == PCIE link check PASSED
INFO: == Starting verify kernel test:
..INFO: == verify kernel test PASSED
INFO: == Starting DMA test:
Host -> PCIe -> FPGA (HBM[0]) write BW: Average: 11993 MB/s
Host <- PCIe <- FPGA (HBM[0]) read BW: Average: 11082 MB/s
INFO: == DMA test PASSED
INFO: == Starting device memory bandwidth test:
.....
FPGA <- HBM (8 channel(s) sum) Average Read Bandwidth: 50505.631360 MBps
FPGA -> HBM (8 channel(s) sum) Average Write Bandwidth: 50490.136041 MBps
INFO: == device memory bandwidth test PASSED
INFO: Card[0] validated successfully.
INFO: All cards validated successfully.
おそらく、想定通り動作しているのでしょう。