Xilinx Alveo加速卡开发入门
作者
QQ群:852283276
微信:arm80x86
微信公眾號:青兒創(chuàng)客基地
B站:主頁 https://space.bilibili.com/208826118
參考
Vitis Unified Software Development Platform 2020.1 Documentation
Vitis Application Acceleration Development Flow Documentation
Vitis Embedded Software Development Flow Documentation
Using Vitis HLS
Methodology for Accelerating Applications with the Vitis Software Platform
Vitis libraries
Xilinx Runtime (XRT) Documentation
Xilinx Runtime (XRT) Documentation Master
創(chuàng)建 Vitis 加速平臺第 1 部分:在 Vivado 中為加速平臺創(chuàng)建硬件工程
2020.1 Vitis? Application Acceleration Development Flow Tutorials
Vitis Accel Examples’ Repository
Vitis Embedded Platform Source
開發(fā)者分享 | Alveo加速卡上管理子系統(tǒng) CMC 介紹
開發(fā)者分享 | 如何在Vitis中設定Kernel 的頻率
AR# 71754 Alveo 數據中心加速卡 — 定制流程 — 一般類信息和已知問題
AR# 71757 Alveo Data Center Accelerator Card - Reverting Card to Factory image
Vitis
老哥現在在Ubuntu18.04上,打開Vitis,platform可以是官方的,比如Alveo或者官方開發(fā)板或者第三方開發(fā)板,也可以是自己創(chuàng)建的,Windows上直接雙擊桌面圖標打開即可,
# setup XILINX_VITIS and XILINX_VIVADO variables $ source /opt/Xilinx/Vitis/2020.1/settings64.sh # setup XILINX_XRT $ source /opt/xilinx/xrt/setup.sh # specify the location of platform, /opt/xilinx/platforms/xilinx_u50_gen3x16_xdma_201920_3 # 不添加這個路徑也可以,可能默認路徑就是/opt/xilinx/platforms $ export PLATFORM_REPO_PATHS=/opt/xilinx/platformsVitis加速框架,這個應該在各種地方都看到過了,使用OpenCL? API來和加速器交互,
Vitis加速的軟件架構,Host可以是X86 PC,也可以是MPSOC中的ARM,思維不要局限了,Host Processor和Programmable Logic之間通過PCIe或者AXI通信,
Vitis編譯流程,一個應用有兩個部分,Host Application和FPGA Kernels,老哥我的理解,前者負責數據的調度、控制,后者是實際硬件加速的部分,
基本流程已經清楚,現在按照官網的例子,跑個Demo,看看Vitis怎樣使用,
初始化環(huán)境,然后進入工程目錄,這是一個深度學習里面脈動陣列的矩陣乘法程序,Xilinx已經寫好了Makefile,當然也可以按照文檔自己敲g++,v++命令,修改design.cfg適配自己的platform,
$ cd ~/project/vitis/Vitis-Tutorials/docs/Pathway3/reference-files/run $ ls -l 總用量 8 -rw-r--r-- 1 qe qe 91 10月 16 14:18 design.cfg -rw-r--r-- 1 qe qe 1944 10月 16 14:18 Makefile $ make help Makefile Usage:make build TARGET=<sw_emu/hw_emu/hw> PLATFORM=<FPGA platform>Command to generate the design for specified Target and Device.make run TARGET=<sw_emu/hw_emu/hw> PLATFORM=<FPGA platform>Command to run for specified Target.make exe Command to generate host.make xclbin Command to generate hardware platform files(xo,xclbin).make clean Command to remove the generated files.編譯,老哥的電腦i3-9100F,4核4.0GHz的CPU,內存16GB,得1小時,感覺很久,我一個綜藝都要看完了,編譯階段vivado的CPU占用率基本跑滿,內存占了8GB,
$ source /opt/Xilinx/Vitis/2020.1/settings64.sh && source /opt/xilinx/xrt/setup.sh && export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu $ make build TARGET=hw PLATFORM=xilinx_u50_gen3x16_xdma_201920_3 # 使用圖形化的方式查看結果 $ vitis_analyzer mmult.hw.xilinx_u50_gen3x16_xdma_201920_3.xclbin.link_summary在硬件上執(zhí)行一下,
$ ./host mmult.hw.xilinx_u50_gen3x16_xdma_201920_3.xclbin Found Platform Platform Name: Xilinx INFO: Reading mmult.hw.xilinx_u50_gen3x16_xdma_201920_3.xclbin Loading: 'mmult.hw.xilinx_u50_gen3x16_xdma_201920_3.xclbin' TEST PASSED # or $ make run TARGET=hw PLATFORM=xilinx_u50_gen3x16_xdma_201920_3仿真,創(chuàng)建xrt.ini文件,
$ cat xrt.ini [Debug] profile=true timeline_trace=true data_transfer_trace=fine更改design.cfg,添加profile_kernel=data:all:all:all,重新編譯,查看結果,
$ source /opt/Xilinx/Vitis/2020.1/settings64.sh && source /opt/xilinx/xrt/setup.sh && export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu $ make build TARGET=hw_emu PLATFORM=xilinx_u50_gen3x16_xdma_201920_3 $ vitis_analyzer mmult.hw_emu.xilinx_u50_gen3x16_xdma_201920_3.xclbin.run_summaryVivado
如果需要用傳統(tǒng)方法開發(fā)Alveo程序,需要下載一些文件,但是要申請,回去讓公司直接找FAE要吧,Xilinx是不推薦這樣玩的,還是乖乖的用Vitis吧。
為確保客戶映像在運行時成功加載到 Alveo 數據中心加速卡上,必須使用以下設置創(chuàng)建 MCS 文件,
- 內存部件:mt25qu01g-spi-x1_x2_x4
- 起始地址:0x01002000
DDR,以U200為例,3個SLR,4個DDR,QSFP所在SLR2,對應DDR[3],所以網絡數據處理的時候優(yōu)先使用DDR[3],除非SLR2資源不夠了,那就另當別論了。
問題
AR# 73269
試圖在 Alveo U50 電路板上對配置內存器件進行編程時,如果將非配置分配信息 I/O 引腳設置為 "Pull-up"狀態(tài),則在對 MCS 進行編程時會出現以下錯誤:
ERROR: [Labtools 27-2149] File /opt/Xilinx/Vivado/2019.2/data/xicom/cfgmem/bitfile/spi_xcu50_pullup.bit not found.Check file name and file permissions. ERROR: [Labtools 27-2149] File C:/Xilinx/Vivado/2019.2/data/xicom/cfgmem/bitfile/spi_xcu50_pullup.bit not found.Check file name and file permissions.這是 2019.2 版中的一個已知問題。下載 bitfile.zip 文件,將 C:\Xilinx\Vivado\2019.2\data\xicom\cfgmem 或 /data/xicom/cfgmem 中的 bitfiles.zip 文件替換為本答復記錄中提供的版本。
./elaborate.sh: 行 20: LIBRARY_PATH: 未綁定的變量
export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu總結
以上是生活随笔為你收集整理的Xilinx Alveo加速卡开发入门的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 算命先生有三不算:不算死人、不算同行、不
- 下一篇: 33岁适合学java吗_33岁女生想学习