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. Ubuntu20安装Truffle框架并部署第一个DApp

    1.查看Ubuntu版本信息 $ screenfetch 2.安装node ①查看nodejs官网稳定版(LTS)版本号(下面的14就是此时的版本号) ②添加源 $ curl -sL https:// ...

  2. Python多线程_thread和Threading

    目录 多线程 _thread模块 使用 _thread模块创建线程 threading 使用 threading模块创建线程 线程同步 在讲多线程之前,我们先看一个单线程的例子: import _th ...

  3. Day001 电脑常用快捷键

    电脑常用快捷键 Ctrl+C 复制 Ctrl+V 粘贴 Ctrl+A 全选 Ctrl+X 剪切 Ctrl+Z 撤销 Ctrl+S 保存 Alt+F4 关闭窗口(英雄联盟选英雄界面可以查看对面阵容(狗头 ...

  4. Eureka讲解与应用

    Eureka[juˈriːkə] 简介 Eureka是Netflix服务发现的服务端与客户端,Eureka提供服务注册以及服务发现的能力,当是Eureka Server时(注册中心),所有的客户端会向 ...

  5. Java常见异常类型

    在Java学习过程中,我们会碰到各种各样的异常,现将面试过程中遇到的常见异常做一罗列并举例: 1.NullPointerException: 空指针异常.菜鸟编程经验发现这个异常是经常会发生的,属于运 ...

  6. 前端基础问题:CSS vertical-align 属性

    CSS vertical-align 属性与基线的那些事~ 定义和用法: vertical-align 属性设置元素的垂直对齐方式. vertical-align只对内联元素(inline.inlin ...

  7. 算法转 Java 后端,2021秋招斩获腾讯、京东、百度等大厂 offer 面经分享!|JavaGuide|Guide哥

    这是一篇来自算法转Java后端的一位读者的投稿!文章主要分享了作者从迷茫崩溃到最终斩获腾讯.京东.百度等大厂 offer 的经历.文章内容很全面.真实,相信可以对正在准备面试的小伙伴有帮助! 看到公众 ...

  8. HEVC学习(一) —— HM的使用

    http://blog.csdn.net/hevc_cjl/article/details/8169182 首先自然是先把这个测试模型下载下来,链接地址如下:https://hevc.hhi.frau ...

  9. queryset惰性与缓存

    https://blog.csdn.net/zhu6201976/article/details/83550461

  10. 记一次 .NET 某外贸Web站 内存泄漏分析

    一:背景 1. 讲故事 上周四有位朋友加wx咨询他的程序内存存在一定程度的泄漏,并且无法被GC回收,最终机器内存耗尽,很尴尬. 沟通下来,这位朋友能力还是很不错的,也已经做了初步的dump分析,发现了 ...