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. 「编程羽录」上线,程序员必备的这些技能你能get到嘛?

    大家好,我是小羽. 好久不见,给大家带来个好消息,小羽的全新专题「编程羽录」系列正式上新,主要是介绍一些关于面试题和经验总结的文章. 会为大家提供一些技术栈之外,程序员还需要的其他方面硬核知识,做到全 ...

  2. 编译android4.4刷到nexus 5

    操作系统:ubuntu14.4tls android源码版本:4.4 手机:nexus5 1 获得手机的驱动程序(跟硬件平台有关):Binaries for Nexus Device 查到nexus ...

  3. Linux中常见的150个命令(干货)

    目录 线上查询及帮助命令 文件和目录操作命令 查看文件和内容处理命令 文件压缩及解压缩命令 信息显示命令 搜索文件命令 进程管理相关命令 用户管理命令 基础网络操作命令 深入网络操作命令 有关磁盘与文 ...

  4. 逆向 stdio.h 函数库 fseek 函数(调试版本)

    0x01 fseek 函数 函数原型:int fseek(FILE *stream, long int offset, int whence) 函数功能:设置流 stream 的文件位置为给定的偏移 ...

  5. Nacos使用 MySQL 8.0 提示Public Key Retrieval is not allowed

    原因如下(参考官网给出的连接选项): 如果用户使用了 sha256_password 认证,密码在传输过程中必须使用 TLS 协议保护,但是如果 RSA 公钥不可用,可以使用服务器提供的公钥:可以在连 ...

  6. 使用constexpr时遇到的小坑

    最近在使用constexpr的时候无意中踩了个小坑. 下面给个小示例: #include <iostream> constexpr int n = 10; constexpr char * ...

  7. Django(13)django时区问题

    前言 我们都知道时区,标准时区是UTC时区,django默认使用的就是UTC时区,所以我们存储在数据库中的时间是UTC的时间,但是当我们做的网站只面向国内用户,或者只是提供内部平台使用,我们希望存储在 ...

  8. EFCore之增删改查

    1. 连接数据库 通过依赖注入配置应用程序,通过startup类的ConfigureService方法中的AddDbContext将EFCore添加到依赖注入容器 public void Config ...

  9. [物联网] 电气 & 工控

    原理 一次回路和二次回路 一次回路:强电部分(380伏---22万伏),连接发电机.电动机.变压器.电网线路.电网开关.电网避雷器等等 二次回路:弱电部分,指的是控制线路.保护线路.测量线路.计量线路 ...

  10. Linux Test Project(一)

    http://www.vimlinux.com/lipeng/2014/09/12/ltp/ Testing Linux, one syscall at a time. LTP是从SGI开始的,后由I ...