nvGRAPH API参考分析(一)
nvGRAPH API參考分析(一)
本文通過描述nvGRAPH庫函數的輸入/輸出參數,數據類型和錯誤代碼來指定其行為。
- 返回值nvgraphStatus_t
除以下內容外,所有nvGRAPH庫返回值 NVGRAPH_STATUS_SUCCESS表示當前的API調用失敗,用戶應重新配置以更正該問題。可能的返回值定義如下:
返回值
- nvGRAPH圖拓撲類型
nvGRAPH將圖形的拓撲(連接性)與值分開。為了簡化拓撲的指定,nvGRAPH支持三種拓撲類型。每種拓撲類型都定義了自己的存儲格式,這種存儲格式對某些操作有好處,但對其它操作卻不利。某些算法只能與特定的拓撲類型一起使用,參閱算法說明以獲取支持的拓撲列表。
Typedef枚舉
{
NVGRAPH_CSR_32 = 0,
NVGRAPH_CSC_32 = 1,
NVGRAPH_COO_32 = 2
} nvgraphTopologyType_t;
拓撲類型
nvGRAPH拓撲結構類型
圖形拓撲結構用于設置或檢索拓撲數據。用戶應使用與所選拓撲類型相對應的結構。
3. nvgraphCSCTopology32I_t
用于 NVGRAPH_CSC_32 拓撲類型
struct nvgraphCSCTopology32I_st { int nvertices; int nedges; int *destination_offsets; int *source_indices; }; typedef struct nvgraphCSCTopology32I_st *nvgraphCSCTopology32I_t;
結構領域
-
nvgraphCSRTopology32I_t
用于 NVGRAPH_CSR_32 拓撲類型
struct nvgraphCSRTopology32I_st { int nvertices; int nedges; int *source_offsets; int *destination_indices; }; typedef struct nvgraphCSRTopology32I_st *nvgraphCSRTopology32I_t;
-
nvgraphCOOTopology32I_t
用于 NVGRAPH_COO_32 拓撲類型
struct nvgraphCOOTopology32I_st { int nvertices; int nedges; int *source_indices; int *destination_indices; nvgraphTag_t tag; }; typedef struct nvgraphCOOTopology32I_st *nvgraphCOOTopology32I_t;
-
Function nvgraphGetProperty()
nvgraphStatus_t nvgraphGetProperty(libraryPropertyType type, int *value);
返回庫的屬性值,例如版本號。
-
Function nvgraphCreate()
nvgraphStatus_t
nvgraphCreate(nvgraphHandle_t * handle);
僅創建一個不透明的句柄,并在主機上分配小型數據結構。所有nvGRAPH函數都使用此句柄,因此應先調用此函數,然后再對庫進行任何其它調用。
-
Function nvgraphDestroy()
nvgraphStatus_t
nvgraphDestroy(nvgraphHandle_t handle);
銷毀使用創建的手柄 nvgraphCreate()。這將自動釋放使用此句柄創建的所有已分配內存對象,例如任何圖形及其頂點和邊的數據。在調用nvgraphDestroy()之后,此句柄的任何后續用法將無效。在調用nvgraphDestroy()之后,對nvGRAPH API的任何調用都會返回“ NVGRAPH_UNINITIALIZED”錯誤。
-
Function nvgraphCreateGraphDescr()
nvgraphStatus_t
nvgraphCreateGraphDescr(nvgraphHandle_t handle, nvgraphGraphDescr_t *descrG);
為圖形結構創建不透明的句柄。圖形上的任何操作都需要此句柄。
-
Function nvgraphDestroyGraphDescr()
nvgraphStatus_t
nvgraphDestroyGraphDescr(nvgraphHandle_t handle, nvgraphGraphDescr_t descrG);
銷毀使用nvgraphCreateGraphDescr()創建的圖形句柄。在銷毀nvGRAPH庫句柄之前,不會釋放為此圖形分配的任何內存。調用銷毀圖表的算子將返回NVGRAPH_STATUS_INVALID_VALUE。
-
Function nvgraphSetGraphStructure()
nvgraphStatus_t
nvgraphSetGraphStructure( nvgraphHandle_t handle, nvgraphGraphDescr_t descrG,
void* topologyData, nvgraphTopologyType_t TType);
此調用為給定的圖形描述符設置拓撲數據和拓撲類型。圖拓撲僅應設置一次。用戶應選擇一種受支持的拓撲,為圖結構初始化填寫相應的結構,并提供指向該結構的指針。拓撲數據和類型在參數中給出拓撲數據 和 類型。通常,圖拓撲數據包括多個頂點,多個邊和連接性信息。有關詳細信息,請參見相應拓撲結構的描述。
總結
以上是生活随笔為你收集整理的nvGRAPH API参考分析(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nvGRAPH原理概述
- 下一篇: nvGRAPH API参考分析(二)