日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Xilinx Alveo加速卡开发入门

發(fā)布時間:2024/3/12 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Xilinx Alveo加速卡开发入门 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

作者

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中設(shè)定Kernel 的頻率
AR# 71754 Alveo 數(shù)據(jù)中心加速卡 — 定制流程 — 一般類信息和已知問題
AR# 71757 Alveo Data Center Accelerator Card - Reverting Card to Factory image

Vitis

老哥現(xiàn)在在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/platforms

Vitis加速框架,這個應(yīng)該在各種地方都看到過了,使用OpenCL? API來和加速器交互,
Vitis加速的軟件架構(gòu),Host可以是X86 PC,也可以是MPSOC中的ARM,思維不要局限了,Host Processor和Programmable Logic之間通過PCIe或者AXI通信,
Vitis編譯流程,一個應(yīng)用有兩個部分,Host Application和FPGA Kernels,老哥我的理解,前者負責數(shù)據(jù)的調(diào)度、控制,后者是實際硬件加速的部分,
基本流程已經(jīng)清楚,現(xiàn)在按照官網(wǎng)的例子,跑個Demo,看看Vitis怎樣使用,

$ git clone https://github.com/Xilinx/Vitis-Tutorials

初始化環(huán)境,然后進入工程目錄,這是一個深度學習里面脈動陣列的矩陣乘法程序,Xilinx已經(jīng)寫好了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 1016 14:18 design.cfg -rw-r--r-- 1 qe qe 1944 1016 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,內(nèi)存16GB,得1小時,感覺很久,我一個綜藝都要看完了,編譯階段vivado的CPU占用率基本跑滿,內(nèi)存占了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 # 使用圖形化的方式查看結(jié)果 $ 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,重新編譯,查看結(jié)果,

$ 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_summary

Vivado

如果需要用傳統(tǒng)方法開發(fā)Alveo程序,需要下載一些文件,但是要申請,回去讓公司直接找FAE要吧,Xilinx是不推薦這樣玩的,還是乖乖的用Vitis吧。
為確保客戶映像在運行時成功加載到 Alveo 數(shù)據(jù)中心加速卡上,必須使用以下設(shè)置創(chuàng)建 MCS 文件,

  • 內(nèi)存部件:mt25qu01g-spi-x1_x2_x4
  • 起始地址:0x01002000

DDR,以U200為例,3個SLR,4個DDR,QSFP所在SLR2,對應(yīng)DDR[3],所以網(wǎng)絡(luò)數(shù)據(jù)處理的時候優(yōu)先使用DDR[3],除非SLR2資源不夠了,那就另當別論了。

問題

AR# 73269

試圖在 Alveo U50 電路板上對配置內(nèi)存器件進行編程時,如果將非配置分配信息 I/O 引腳設(shè)置為 "Pull-up"狀態(tài),則在對 MCS 進行編程時會出現(xiàn)以下錯誤:

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

總結(jié)

以上是生活随笔為你收集整理的Xilinx Alveo加速卡开发入门的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。