nvGRAPH API参考分析(一)
nvGRAPH API参考分析(一)
本文通过描述nvGRAPH库函数的输入/输出参数,数据类型和错误代码来指定其行为。
除以下内容外,所有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_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;
用于 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);
返回库的属性值,例如版本号。
nvgraphStatus_t
nvgraphCreate(nvgraphHandle_t * handle);
仅创建一个不透明的句柄,并在主机上分配小型数据结构。所有nvGRAPH函数都使用此句柄,因此应先调用此函数,然后再对库进行任何其它调用。
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参考分析(一)的更多相关文章
- nvGRAPH API参考分析(二)
nvGRAPH API参考分析(二) nvGRAPH Code Examples 本文提供了简单的示例. 1. nvGRAPH convert topology example void check( ...
- Yii2 Restful API 原理分析
Yii2 有个很重要的特性是对 Restful API的默认支持, 通过短短的几个配置就可以实现简单的对现有Model的RESTful API 参考另一篇文章: http://www.cnblogs. ...
- Google地图接口API之Google地图 API 参考手册(七)
Google 地图API 参考手册 地图 构造函数/对象 描述 Map() 在指定的 HTML 容器中创建新的地图,该容器通常是一个DIV元素. 叠加层 构造函数/对象 描述 Marker 创建一个标 ...
- Google Chart API 参考 中文版
Google Chart API 参考 中文版 文档信息 翻译: Cloudream ,最后修改:02/22/2008 06:11:08 英文版版权归 Google , 转载此中文版必须以链接形式注明 ...
- Zepto Api参考
zepto API参考 简介 Zepto是一个轻量级的针对现代高级浏览器的JavaScript库, 它与jquery有着类似的api. 如果你会用jquery,那么你也会用zepto. 设计目的 ze ...
- 透过【百度地图API】分析双闭包问题
原文:透过[百度地图API]分析双闭包问题 摘要: 有位API爱好者问到,昨天的教程里为什么不使用for循环?他使用for循环后,也发现代码无效.这是什么原因? ------------------- ...
- PJSUA2开发文档--第十二章 PJSUA2 API 参考手册
12 PJSUA2 API 参考手册 12.1 endpoint.hpp PJSUA2基本代理操作. namespace pj PJSUA2 API在pj命名空间内. 12.1.1 class En ...
- Dubbo -- 系统学习 笔记 -- API参考手册
Dubbo -- 系统学习 笔记 -- 目录 API参考手册 配置API 注解API 模型API 上下文API 服务API API参考手册 Dubbo的常规功能,都保持零侵入,但有些功能不得不用API ...
- heapster源码分析——kubelet的api调用分析
一.heapster简介 什么是Heapster? Heapster是容器集群监控和性能分析工具,天然的支持Kubernetes和CoreOS.Kubernetes有个出名的监控agent---cAd ...
随机推荐
- 关于Number、parseInt、isNaN转化参数
1.首先,关于NaN的相等判断 alert(NaN==NaN) //返回的是false: 2.isNaN 确定这个参数是否是数值或者是否可以被转化为数值:NaN是not a number 的缩写,所以 ...
- 解决小程序中Data.parse()获取时间戳IOS不兼容
由于与后台接口必须对比时间戳所以首先得前台获取时间戳.刚开始是获取手机本地时间,但用户改了时间就废了..... 后来就从服务器上获取个时间再转换为时间戳(是不是很操蛋,先从服务器上获取在TM的自己比较 ...
- css3动画大全
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Spring初识及其IOC入门
一.框架 框架是一些类和接口的集合,它一个半成品,已经对基础的代码进行了封装并提供相应的API,开发者在使用框架时直接调用封装好的api可以省去很多代码编写,从而提高工作效率和开发速度. 二.Spri ...
- VPS、云主机 and 服务器集群、云计算 的区别
VPS:(virtual private server)虚拟专用服务器,将一台服务器分割成多个虚拟专享服务器的优质服务.实现VPS的技术分为容器技术和虚拟化技术.在容器或虚拟机中,每个VPS都可分配独 ...
- Portswigger web security academy:Cross-origin resource sharing (CORS)
Portswigger web security academy:Cross-origin resource sharing (CORS) 目录 Portswigger web security ac ...
- [LeetCode]丑数 II&C++中priority_queue和unordered_set的使用
[LeetCode]丑数 II&C++中priority_queue和unordered_set的使用 考虑到现实因素,LeetCode每日一题不再每天都写题解了(甚至有可能掉题目?--)但对 ...
- Day003 包机制
包机制 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间. 包语句的语法格式为: package pkg1[.pkg2[.pkg3....]]; 一般利用公司的域名倒置作为包名; 例如: ...
- 【SpringMVC】数据校验时,抛出javax.validation.UnexpectedTypeException: HV000030: No validator could be found for type: java.util.Date.
老魏原创,转载请留言. 原因:给Javabean中的字段注解多余或者错误导致. @NotEmpty @Past @DateTimeFormat(pattern="yyyy-MM-dd&quo ...
- 脱壳入门----常见的寻找OEP的方法
一步直达法 所谓的一步直达法就是利用壳的特征.壳一般在执行完壳代码之后需要跳转到OEP处,而这个跳转指令一般是call ,jmp ,push retn类型的指令,而且因为壳代码所在的区段和OEP代码所 ...