nvGRAPH API参考分析(一)

本文通过描述nvGRAPH库函数的输入/输出参数,数据类型和错误代码来指定其行为。

1.    返回值nvgraphStatus_t

除以下内容外,所有nvGRAPH库返回值 NVGRAPH_STATUS_SUCCESS表示当前的API调用失败,用户应重新配置以更正该问题。可能的返回值定义如下:

返回值

2.    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;

结构领域

4.    nvgraphCSRTopology32I_t

用于 NVGRAPH_CSR_32 拓扑类型

struct nvgraphCSRTopology32I_st { int nvertices; int nedges; int *source_offsets; int *destination_indices; }; typedef struct nvgraphCSRTopology32I_st *nvgraphCSRTopology32I_t;

5. 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;

6. Function nvgraphGetProperty()

nvgraphStatus_t nvgraphGetProperty(libraryPropertyType type, int *value);

返回库的属性值,例如版本号。

7. Function nvgraphCreate()

nvgraphStatus_t
   nvgraphCreate(nvgraphHandle_t * handle);

仅创建一个不透明的句柄,并在主机上分配小型数据结构。所有nvGRAPH函数都使用此句柄,因此应先调用此函数,然后再对库进行任何其它调用。

8. Function nvgraphDestroy()

nvgraphStatus_t
   nvgraphDestroy(nvgraphHandle_t handle);

销毁使用创建的手柄 nvgraphCreate()。这将自动释放使用此句柄创建的所有已分配内存对象,例如任何图形及其顶点和边的数据。在调用nvgraphDestroy()之后,此句柄的任何后续用法将无效。在调用nvgraphDestroy()之后,对nvGRAPH API的任何调用都会返回“ NVGRAPH_UNINITIALIZED”错误。

9. Function nvgraphCreateGraphDescr()

nvgraphStatus_t
   nvgraphCreateGraphDescr(nvgraphHandle_t handle, nvgraphGraphDescr_t *descrG);

为图形结构创建不透明的句柄。图形上的任何操作都需要此句柄。

10. Function nvgraphDestroyGraphDescr()

nvgraphStatus_t
   nvgraphDestroyGraphDescr(nvgraphHandle_t handle, nvgraphGraphDescr_t descrG);

销毁使用nvgraphCreateGraphDescr()创建的图形句柄。在销毁nvGRAPH库句柄之前,不会释放为此图形分配的任何内存。调用销毁图表的算子将返回NVGRAPH_STATUS_INVALID_VALUE。

11. Function nvgraphSetGraphStructure()

nvgraphStatus_t
   nvgraphSetGraphStructure( nvgraphHandle_t handle, nvgraphGraphDescr_t descrG,
      void* topologyData, nvgraphTopologyType_t TType);

此调用为给定的图形描述符设置拓扑数据和拓扑类型。图拓扑仅应设置一次。用户应选择一种受支持的拓扑,为图结构初始化填写相应的结构,并提供指向该结构的指针。拓扑数据和类型在参数中给出拓扑数据 和 类型。通常,图拓扑数据包括多个顶点,多个边和连接性信息。有关详细信息,请参见相应拓扑结构的描述。

nvGRAPH API参考分析(一)的更多相关文章

  1. nvGRAPH API参考分析(二)

    nvGRAPH API参考分析(二) nvGRAPH Code Examples 本文提供了简单的示例. 1. nvGRAPH convert topology example void check( ...

  2. Yii2 Restful API 原理分析

    Yii2 有个很重要的特性是对 Restful API的默认支持, 通过短短的几个配置就可以实现简单的对现有Model的RESTful API 参考另一篇文章: http://www.cnblogs. ...

  3. Google地图接口API之Google地图 API 参考手册(七)

    Google 地图API 参考手册 地图 构造函数/对象 描述 Map() 在指定的 HTML 容器中创建新的地图,该容器通常是一个DIV元素. 叠加层 构造函数/对象 描述 Marker 创建一个标 ...

  4. Google Chart API 参考 中文版

    Google Chart API 参考 中文版 文档信息 翻译: Cloudream ,最后修改:02/22/2008 06:11:08 英文版版权归 Google , 转载此中文版必须以链接形式注明 ...

  5. Zepto Api参考

    zepto API参考 简介 Zepto是一个轻量级的针对现代高级浏览器的JavaScript库, 它与jquery有着类似的api. 如果你会用jquery,那么你也会用zepto. 设计目的 ze ...

  6. 透过【百度地图API】分析双闭包问题

    原文:透过[百度地图API]分析双闭包问题 摘要: 有位API爱好者问到,昨天的教程里为什么不使用for循环?他使用for循环后,也发现代码无效.这是什么原因? ------------------- ...

  7. PJSUA2开发文档--第十二章 PJSUA2 API 参考手册

    12 PJSUA2 API 参考手册 12.1 endpoint.hpp PJSUA2基本代理操作.  namespace pj PJSUA2 API在pj命名空间内. 12.1.1 class En ...

  8. Dubbo -- 系统学习 笔记 -- API参考手册

    Dubbo -- 系统学习 笔记 -- 目录 API参考手册 配置API 注解API 模型API 上下文API 服务API API参考手册 Dubbo的常规功能,都保持零侵入,但有些功能不得不用API ...

  9. heapster源码分析——kubelet的api调用分析

    一.heapster简介 什么是Heapster? Heapster是容器集群监控和性能分析工具,天然的支持Kubernetes和CoreOS.Kubernetes有个出名的监控agent---cAd ...

随机推荐

  1. 【策略模式】策略模式结合Spring实战Demo

    策略模式 策略模式用于解决判断分支过多的问题,使代码变得简洁和优雅, 策略模式在多种方式在项目中落地,下面举例说明通过指定不同类型的订单使用策略模式执行不同的业务逻辑 文章参考自公众号:石杉的架构笔记 ...

  2. LA3403天平难题(4个DFS)

    题意:      给出房间的宽度r和每个吊坠的重量wi,设计一个尽量宽但宽度不能超过房间宽度的天平,挂着所有挂坠,每个天平的一段要么挂这一个吊坠,要么挂着另一个天平,每个天平的总长度是1,细节我给出题 ...

  3. 安装和简单使用apidoc

    安装nodejs 参考链接 安装apidoc 参考链接 使用 https://www.bilibili.com/video/BV1MW411Q7g4 https://www.bilibili.com/ ...

  4. JavaScript 中正则匹配时结果不一致的问题

    创建示例项目 考察如下场景,我们有个输入框组件,输入时同时进行校验. interface IInputProps { label: string; } function Input({ label } ...

  5. JMeter关联陌生又熟悉

    JMeter关联是什么 JMeter关联,这几个字看着可能会有点陌生,实际上却是工作中经常会做的一件事情,尤其是接口自动化,它指的是把一个接口的响应作为另一个接口的参数,从而把接口关联起来. JMet ...

  6. Redis6.x学习笔记(二)持久化之RDB

    前言 最近学习Redis6.x,特做笔记以备忘,与大家共学.课程是从私塾在线下载的,他们把架构师课程都放出来了,大家可以去下载学习,不要钱的,地址是http://t.hk.uy/eK7,课程很不错,值 ...

  7. Codeforces Round #661 (Div. 3)

    A. Remove Smallest 题意:数组是否满足任意i,j保证|ai-aj|<=1,如果都可以满足,输出YES,否则输出NO 思路:直接排序遍历即可 代码: 1 #include< ...

  8. svg web拓扑更新了,支持动态添加svg组件

    版本1.0请点此 预览地址 https://svg.yaolunmao.top 如何使用 # 克隆项目 git clone https://github.com/yaolunmao/vue-webto ...

  9. 反向解析 参数替换 reverse

  10. Word·去掉复制粘贴自动添加的空格

    阅文时长 | 0.05分钟 字数统计 | 145.6字符 主要内容 | 1.引言&背景 2.声明与参考资料 『Word·去掉复制粘贴自动添加的空格』 编写人 | SCscHero 编写时间 | ...