CUsparse ch2 使用cusparse应用程序编程接口(API)
来源:互联网 发布:毛妹100能量伤害数据 编辑:程序博客网 时间:2024/05/20 12:46
使用cusparse应用程序编程接口(API)
本章叙述如何使用cusparse API.本章不是cusparse API数据类型和函数的参考,这些内容在后续章节中。
2.1 线程安全
该库是线程安全的,并且其功能可以从多个主机线程调用。
2.2 标量参数
在cusparse API中,标量参数α和β可以通过设备或者主机上的引用来传递。
几个返回标量结果的函数,例如doti()和nnz(),通过主机或设备上的引用返回结果值。尽管这些函数同那些返回矩阵或者向量结果的函数一样,立即返回,标量结果仍要等GPU上的例程完成之前才能准备好。这就需要在从主机读取结果时使用适当的同步。该功能允许cusparse库函数在即使参数α和β通过前一核心生成时,使用流来完全异步执行。例如,当库用来实现迭代方法求解线性方程组和特征值问题时,这种情况会发生。
并行流
如果应用程序执行几个独立的小运算,或者如果它在并行计算中使用数据传输,可以使用CUDA流使这些任务重叠。应用程序概念上可以为每一个任务关联一个流。为了实现计算人物之间的重叠,开发者需要使用函数cudaStreamCreate()来创建CUDA流并在调用实际的cusparse例程时通过调用cusparseSetStream()函数来设置每个流被独立的cusparse 库例程使用。
然后,如果可能,在单独的流中执行的计算将自动的在 GPU上重叠。当执行由单一任务的计算是相对较小,并不足以填补 GPU 的工作,或者时可以进行并行计算与数据传输,这种方法是特别有用。
当使用流时,我们建议使用新的 cuSPARSE API,新的API带标量参数和通过在设备内存中引用的结果来实现最大计算重叠。
虽然开发人员可以创建许多流,然而在实践中不可能有超过 16 并发的内核在同一时间执行。
水平有限,仅供参考。
参考文档:http://docs.nvidia.com/cuda/cusparse/index.html#axzz49iopDHZG
- CUsparse ch2 使用cusparse应用程序编程接口(API)
- CUSparse 第二章 使用CUSPARSE API
- cusparse的使用
- CuSparse 第一章
- CUsparse ch3 Cusparse索引及其数据格式
- CUsparse ch1 引言
- CUSPARSE 第三章 CUSPARAE索引和数据格式
- api(应用程序编程接口)
- API[应用程序编程接口]
- FTK应用程序编程接口(API)手册
- FTK应用程序编程接口(API)手册-1
- FTK应用程序编程接口(API)手册-2
- Windows应用程序编程接口------Windows API
- API(Application Programming Interface)应用程序编程接口
- Z-Stack ZigBee API命令解释----应用程序编程接口1
- API(Application Programming Interface,应用程序编程接口)详解
- Z-stack 应用程序编程接口(API)-网络层
- Z-stack 应用程序编程接口(API)-网络层
- 使用ORAPWD命令Oracle密码文件
- 在二叉查找树中插入节点
- SharePoint 2013 弹窗效果之URL打开方式(一)
- 博客地址已经搬家
- 粗浅看 java反射机制
- CUsparse ch2 使用cusparse应用程序编程接口(API)
- android service 全面详解
- 2016河南ACM省赛-A-表达式求值
- 使用ImageLoader加载网络图片时,如何获取加载进度,如何设置进度条
- LeetCode Remove Duplicates from Sorted List II
- jquery 获取 动态input等元素的id
- 安卓中为了获取context的方法和区别(getContext,getActivity,this,mainActivity.this等)
- java数据结构举例-幻方实现
- Java中过滤出字母、数字和中文的正则表达式