Vitis™ 圖形庫提供:
目前,Vitis Graph 庫包含以下用於執行圖形算法的函數:
Vitis 圖形庫提供三種類型的函數實施方案:L1 原語函數、L2 內核函數和 L3 軟件 API 函數。FPGA 硬件開發人員可利用 L1 原語函數。L2 內核函數通過集成 L1 原語函數和數據移動器構建,這些數據移動器可通過支持 XRT 運行時庫的主機代碼調用。L3 軟件 API 函數提供 C++ 函數接口,允許純軟件開發人員將圖形運算交由 AMD 平台完成,無需其它與硬件相關的配置。下表列出了一部分這三種類型的函數。請注意,Vitis 圖形庫目前不提供任何在 Versal AI 引擎上運行的函數。
Vitis Graph 庫特性 | L1 原語函數 |
---|---|
denseSimilarity:稠密圖形的相似度函數 | |
generalSimilarity:同時支持稠密和稀疏的相似度函數 | |
sortTopK:輸入數據的前 K 排序函數 | |
sparseSimilarity:稀疏圖形的相似度函數 | |
L2 內核函數 | |
bfsImpl:呼吸優先搜索算法 | |
calcuDegree:度數計算算法 | |
connectedComponentImpl:連接組件計算算法 | |
convertCsrCsc: 轉換 Csr 和 Csc 之間的圖形格式 | |
labelPropagation:標簽傳播算法 | |
pageRankTop:頁麵等級算法 | |
注意:完整的 L2 內核函數列表及介紹可在這裏找到 | |
L3 軟件 API 函數 | |
opBFS 類:bread-fist 搜索算法 | |
opSCC 類:強連接組件計算 | |
opTriangleCount 類:計算三角形個數 | |
注意:完整的 L3 軟件 API 函數列表及介紹可在這裏找到。 |
如欲詳細區分 L1 原語與 L2 內核函數,請參見下表。
L1 原語函數 |
|
L2 內核功能 |
|
L3 軟件 API 函數 |
|
這三種類型的實施方案組織在 Github 對應的 L1、L2 和 L3 目錄中。下圖顯示了 Vitis Graph 庫的主要組織,每個組織都與應用開發的不同階段有關。
對於 L1 子目錄:
對於 L2 子目錄:
對於 L3 子目錄:
Vitis GitHub 存儲庫中提供的庫可通過上麵介紹的、針對 L2 和 L3 函數提供的生成文件或 Vitis IDE 來編譯。要在 IDE 中使用該庫,首先得按庫模板下載,然後必須使用該模板創建一個新的 Vitis 項目。如欲進一步了解如何在 Vitis GUI 中使用庫模板創建 L2 或 L3 應用,請參見這裏。