為 AMD Versal AI 內核係列增強了 DSP 庫函數
最新 DSP 庫函數適用於支持 AIE-ML 的 AMD Versal AI Edge 係列
AIE API 增強
支持 Radix-3/Radix-5 FFT
新的示例設計可在 Github 上找到。
新模板程序可簡化圖像和視頻過濾器的 HLS C++ 代碼
全新庫函數向導進入 AMD Vitis 庫 github 庫
內存接口 (ap_memory) 的 Pragma 現在可捆綁 AMD Vivado IP Integrator 的端口
最新 HLS 組件比較可並列顯示兩個以上組件的數據記錄
支持用用戶提供程序 RTL 代碼來替換 C++ 函數(黑盒流程)
代碼分析器現在可分解 C++ 結構成員,微調性能分析
適用於 HLS 全局 FSM 編碼和安全狀態選擇的新用戶控製
在 C-Simulation 期間訪問 Clang 消毒器,以執行地址及初始化檢查
* 基於 2023 年 8 月 10 日在 1000 個 Vitis L2/L3 代碼庫設計間的測試,Vitis HLS 版本 2023.2 與 Vitis HLS 2023.1 相比。測試時的係統配置:Intel Xeon E5-2690 v4(2.6GHz CPU)、256GB RAM、RedHat Enterprise Linux 8.6。實際性能會有所不同。係統生產商可能會改變配置,進而會有不同的結果。-VGL-04
Versal™ AI 引擎 (AIE) 陣列的最新 Vitis™ 庫功能
Versal AI Core 和 AI Edge 係列的設計流程增強
為 Vivado™ 環境的 Vitis 環境導入提供支持
DSP 庫 — FIR 過濾器
求解器庫
備注:
* 截至 2023 年 2 月 12 日,停止在所有 1208 個 Vitis L1 庫 C 代碼設計上執行基準測試。所有設計都使用一個支持 2P Intel Xeon E5-2690 CPU 的係統運行,該 CPU 支持 CentOS Linux,啟用了 SMT 並禁用了 Turbo Boost。預計硬件配置不會影響軟件測試結果。結果可能會因軟件及固件設置和配置而異 — VGL-03
Versal™ AI 引擎 (AIE) 陣列的最新 Vitis™ 庫功能
Versal AI Core 和 AI Edge 係列的設計流程增強
DSP 庫功能
求解器庫函數
視覺庫功能
超聲波庫函數
Vitis 環境 2022.2 全新仿真選項:處理器係統 x86 仿真和 AI 引擎 x86 仿真:可編程邏輯仿真可使用 x86 仿真器執行。
Versal AI 引擎設計的特點
一般功能
麵向 Versal™ ACAP 和 AI 引擎的 Vitis™ 流程提升
麵向 DC 和 Vitis HLS 的 Vitis
注:Vitis 加速庫現已提供,可以單獨下載。它們可以從 GitHub 中下載,也可以直接從 Vitis IDE 中下載。
庫 | 2021.1 | 2021.2 | 21.2 版的新增功能 |
---|---|---|---|
xf_blas | 167 | 167 | 0 |
xf_codec | 3 | 3 | 0 |
xf_DataAnalytics | 33 | 36 | 3 |
xf_database | 62 | 65 | 3 |
xf_compression | 78 | 93 | 15 |
xf_dsp | 94 | 96 | 2 |
xf_graph | 53 | 59 | 6 |
xf_hpc | 37 | 37 | 0 |
xf_fintech | 116 | 116 | 0 |
xf_security | 135 | 140 | 5 |
xf_solver | 11 | 11 | 0 |
xf_sparse | 11 | 11 | 0 |
xf_utils_hw | 55 | 57 | 2 |
xf_opencv | 147 | 150 | 3 |
總共 | 1002 | 1041 | 39 |
注:對於視覺,隻需計算 L*/tests 中的子文件夾數量,因為每個 API 都針對不同的類型提供多項測試
可編程邏輯 (PL)
全新功能 | 種類 | 客戶/戰略 | 行業 | 說明 |
---|---|---|---|---|
RGB-IR | ISP | Seeing Machines | 汽車、ISM | •支持 4x4 RGB-IR 去馬賽克 •主要用於艙內監控係統 •微光監控攝像頭 |
Mono (CCCC) | ISP | Strategic | 汽車、ISM、A&D | •機器視覺 •低光應用 |
全局色調映射 (GTM) | ISP | Strategic | 汽車、ISM、A&D | •擴大了動態範圍,提高了對比度 •與本地色調映射 (LTM) 相比,是一個成本更低的版本 |
密度光流算法 TV-L1 | CV | NTT | ISM | •改進了光流對光照、噪聲及遮擋的穩定性 |
AI Engine (AIE)
全新功能 | 種類 | 客戶/戰略 | 行業 | 說明 |
---|---|---|---|---|
RGB-IR | ISP | Seeing Machines | 汽車、ISM | •支持 4x4 RGB-IR 去馬賽克 •主要用於艙內監控係統 •微光監控攝像頭 |
ML+X | ISP | Strategic | 汽車、ISM、A&D | •ML 幹擾預處理 |
高斯金字塔 | CV | Strategic | 汽車、ISM、A&D | •多尺度圖像處理的基礎 |
方框濾波器 | CV | Strategic | 汽車、ISM、A&D | •流暢低通濾波器的基本知識 |
基於 Vitis 庫的 Vitis 區塊鏈解決方案
將 CSV 解析器 API 添加到庫中
發布 KECCAK-256(散列函數)和 CRC32C(校驗和函數)
為調試硬件問題添加了兩個 Data-Mover 實現方案。
AI 引擎 API 將是 AI 引擎內核編程的主要方法
AI 引擎編譯器優化選項
引入 --xlopt=2,以提高性能,默認情況下仍是 --xlopt=1
必須優化內核
2021.2 中支持自動推斷五種編譯指示
模型變化包括:
當前
GMIO gm0(“GMIO_In0”, 64, 1);
GMIO gm1(“GMIO_In1”, 64, 1);
…
GMIO gm7(“GMIO_In7”, 64, 1);
PLIO pl0(“PLIO_Out0”, plio_32_bits, “data/output0.txt”, 250.0);
PLIO pl1(“PLIO_Out1”, plio_32_bits, “data/output1.txt”, 250.0);
…
PLIO pl7(“PLIO_Out7”, plio_32_bits, “data/output7.txt”, 250.0);
simulation::platform<8,8> plat(&gm0, &gm1,…, &gm7, &pl0, &pl1,…, &pl7,);
subgraph g;
connect<> net0(plat.src[0], g.in[0]);
connect<> net1(plat.src[1], g.in[1]);
…
connect<> net7(plat.src[7], g.in[7]);
connect<> net8(g.out[0], plat.sink[0]);
connect<> net9(g.out[1], plat.sink[1]);
…
connect<> net15(g.out[7], plat.sink[7]);
其它方法
類型頂層圖
{
input_gmio gm[8];
output_plio pl[8];
subgraph sg;
topgraph()
{
for (i=0; i<8; i++)
{
gm[i] = input_gmio::create(“GMIO_In”+std::to_string(i), 64, 1);
pl[i] = output_plio::create(“PLIO_Out”+std::to_string(i), plio_32_bits, “data/output”+std::to_string(i)+”.txt”, 250.0);
connect<>(gm[i].out[0], sg.in[i]);
connect<>(sg.out[i], pl[i].in[0]);
}
}
};
topgraph g;
能夠在 ADF 圖或約束文件中使用標記,以控製映射器和路由器
快照是包含與所有內核端口相關的注釋和數據的文本文件
還包括所有平台端口
允許用戶在不使用調試器和不需要檢測內核代碼的情況下檢查內核端口上的數據流量
與 Valgrind 集成,以便進行內存訪問衝突檢查
鎖死情況會導致仿真輸出差,難以分析漏洞來源
X86 仿真跟蹤選項允許仿真器為各種時間戳信息提供日誌:
x86 仿真和 AI 引擎仿真的時間戳不同
在 C 語言綜合報告中添加接口適配器報告
在綜合報告中添加新章節,以顯示編譯指示列表和編譯指示警告
函數調用圖查看器有一些新特性
現已在仿真後提供一個新的時間軸跟蹤查看器該查看器可顯示設計的運行時概況,並允許用戶保留在 Vitis HLS GUI 中。
AI 引擎應用仿真增強
支持 AI 引擎跟蹤
為 AI 引擎應用提供軟件仿真支持
采用 Verilog / System Verilog 支持外部流量生成器
為非 OpenCL 應用生成的通用配置文件摘要報告
將 OpenCL 命令添加到 PL 事件時間軸
在時間軸跟蹤報告中扁平化信號層級
C / C++ API
enum class access_mode:uint8_t { exclusive = 0;primary = 1, shared = 2 };
enum class access_mode:uint8_t { exclusive = 0;primary = 1, shared = 2 };none = 3 };
訪問 Alveo 卡的最新 Vitis 目標平台:
參閱 UG1120 — Alveo 數據中心加速卡平台用戶指南
與 2021.1 相比,縮短了時間(例如,以下數字主要針對 200 MHz TX 鏈):
注:Vitis 加速庫現已提供,可以單獨下載。它們可以從 GitHub 中下載,也可以直接從 Vitis IDE 中下載。
FIR 濾波器
功能 |
命名空間 |
單速率、非對稱 |
FIR 濾波器 |
單速率、對稱 |
dsplib::fir::sr_sym::fir_sr_sym_graph |
插值不對稱 |
dsplib::fir::interpolate_asym::fir_interpolate_asym_graph |
抽取、半帶 |
dsplib::fir::decimate_hb::fir_decimate_hb_graph |
插值、半帶 |
dsplib::fir::interpolate_hb::fir_interpolate_hb_graph |
抽取、不對稱 |
dsplib::fir::decimate_asym::fir_decimate_asym_graph |
插值、分數、不對稱 |
dsplib::fir::interpolate_fract_asym:: fir_interpolate_fract_asym_graph |
抽取、對稱 |
dsplib::fir::decimate_sym::fir_decimate_sym_graph |
FFT/iFFT - DSPLib 包含一種 FFT/iFFT 解決方案。這是一個單通道、單核時間抽取 (DIT),具有可配置點大小、複雜數據類型、級聯長度和 FFT/iFFT 功能的實現。
功能 |
命名空間 |
單通道 FFT/iFFT |
dsplib::fft::fft_ifft_dit_1ch_graph |
矩陣乘法 (GeMM) - DSPLib 包含一個矩陣乘法/GEMM(通用矩陣乘法)解決方案。這支持 2 個矩陣 A 和 B 的矩陣乘法,可配置的輸入數據類型可派生出輸出數據類型。
功能 |
命名空間 |
Matrix Mult / GeMM |
dsplib::blas::matrix_mult::matrix_mult_graph |
小部件實用程序 — 這些小部件不僅支持窗口與數據流之間的轉換(在 DSPLib 函數輸入端)和需要時數據流與窗口之間的轉換(在 DSPLib 函數的輸出端),而且還支持用於在真實數據類型和複雜數據類型之間進行轉換的其它小部件。
功能 |
命名空間 |
數據流至窗口/窗口至數據流 |
dsplib::widget::api_cast::widget_api_cast_graph |
真實至複雜/複雜至真實 |
dsplib:widget::real2complex::widget_real2complex_graph |
Vitis HPC 庫版本引入了 HLS 原語、預構建內核以及用於 FPGA 上 HPC 應用的軟件 API。這些應用包括:
2D 聲學逆時偏移 (RTM) 時域有限差分 (FDTD) 算法,包括前向內核和後向內核
3D 聲學逆時偏移 (RTM) 時域有限差分 (FDTD) 算法,包括前向內核
多層感知器 (MLP) 組件:激活函數和完全連接的網絡內核
稠密矩陣和稀疏矩陣的預條件共軛梯度 (PCG) 求解器
提供的功能
Filter2D
absdiff
accumulate
accumulate_weighted
addweighted
blobFromImage
colorconversion
convertscaleabs
erode
gaincontrol
gaussian
gaussian
pixelwise_mul
threshold
zero
xfcvDataMovers:實用程序數據轉移,以便輕鬆平鋪高分辨率圖像並將其傳輸至 AI 引擎內核的本地內存。兩種版本
與庫有關的變化
2021.1 版提供了二元語法文本分析:
兩克謂詞 (TGP) 是搜索具有兩個字符的反索引。對於建立了反向索引的數據集,它可以在反向索引的每條記錄中找到匹配的 id。
在 2021.1 版中,GQE 獲得了以下特性搶先體驗支持
64 位連接支持:現在 gqeJoin 內核及其配套 gqePart 內核已擴展至 64 位密鑰及有效負載,可支持更大規模的數據。
支持最初的布隆過濾器:gqeJoin 內核現在提供一種執行布隆過濾器探測的模式。 這可提高某些多節點流程的效率,在這些流程中,一定要在早期階段最大限度減少數據量,這一點非常重要。
這兩個特性現在均可作為 L3 純軟件 API 提供,請查看相應的 L3 測試案例。
RT 管理內核是默認流程。
支持加密的 AIE 源文件作為輸入
AIE 編譯器可以接受加密的 AIE 源文件,v++ 支持其餘流程。
Vitis Analyzer 顯示了一個關鍵的時序路徑。
Vitis 分析器將顯示簡化版 Vivado GUI 時序報告,無需打開 Vivado 項目或網表。這允許用戶快速導航至失敗的時序路徑。
Vitis Analyzer 多種策略支持
多種策略運行的結果可以在 Vitis 分析器中查看。
減少大型應用的內存和加載時間
全新配置文件工具使用更少的資源來處理大型 csv 文件,這可減少加載時間以及崩潰問題的發生。
PL 連續跟蹤卸載改進
使用 DDR 或 HBM 作為內存資源來存儲跟蹤數據
循環緩衝區支持大型數據卸載
跟蹤緩衝區大小和卸載間隔可以在 xrt.ini 中設置
提高了 AIE 設計跟蹤報告的可視化
將顯示所有 AIE 輸入(窗口、數據流和級聯數據流等)
支持所有 IO 數據類型
在www.rushcopely.com/alveo上訪問 Alveo 加速卡的最新 Vitis 目標平台。 請參考加速器卡(您希望在該卡上部署應用)的入門部分。
請查看 { UG1120 - Alveo 數據中心加速卡平台用戶指南,了解更多詳情,並隨時了解最新 Vitis 目標平台發布的最新信息。
全新平台
注:Vitis 加速庫現已提供,可以單獨下載。它們可以從 GitHub 中下載,也可以直接從 Vitis IDE 中下載。
全新功能與特性
庫基礎架構與其它增強功能
在全新 AMD 應用商店中推出隨時可用於評估的應用
使用 Vitis 視覺庫開發的 FPGA 加速應用現已在全新的AMD 應用商店中推出,作為容器,可用於在 Nimbix 雲端或本地的 Alveo 加速卡上輕鬆評估和部署
Versal 的專有特性
Versal 的專有特性
Versal 的專有特性
Versal 的專有特性
Versal 的專有特性
注:Xilinx 運行時庫 (XRT) 現已提供,可單獨下載。請參考啟動設計信息,查看下載和安裝說明。
Versal 的專有特性
從 Alveo 軟件包下載選項卡訪問 Alveo 加速卡的最新 Vitis 目標平台
請查看 UG1120 — Alveo 數據中心加速卡平台用戶指南,了解更多詳情,並隨時了解最新 Vitis 目標平台版本的最新動態,因為其即將發布
U200/U250 XDMA 平台
Shell 升級 DFX — 2RP(2 個重新配置分區)
AXI Slave Bridge
數據保留 — DDR4 自刷新
注:嵌入式平台的 Vitis 目標平台(包括預先構建的 linux 內核、根文件係統和 sysroot)現已提供,可在 Vitis 嵌入式平台選項卡上單獨下載
VCK190 平台有靈活的 DDR + LPDDR 內存子係統,支持加速內核的 63 種中斷。它可以與 Vitis 內核開發套件一起使用,滿足應用加速與嵌入式處理器軟件開發需求,如 Versal AI 引擎程序員指南 (UG1076) 所述。該平台支持各種設計開發,包括: