- 1、本文档共134页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CUDA帮助文档
NVIDIA CUDA
计算统一设备架构
编程指南
版本 2.0
6 / 7 / 2008
目 录
第 1 章 简介 1
1.1 CUDA:可伸缩并行编程模型 1
1.2 GPU:高度并行化、多线程、多核处理器 1
1.3 文档结构 3
第2章 编程模型 4
2.1 线程层次结构 4
2.2 存储器层次结构 6
2.3 主机和设备 6
2.4 软件栈 7
2.5 计算能力 8
第 3 章 GPU 实现 9
3.1 具有芯片共享存储器的一组 SIMT 多处理器 9
3.2 多个设备 11
3.3 模式切换 11
第 4 章 应用程序编程接口 12
4.1 C 编程语言的扩展 12
4.2 语言扩展 12
4.2.1 函数类型限定符 12
_device_ 12
_global_ 13
_host_ 13
限制 13
4.2.2 变量类型限定符 13
_device_ 13
_constant_ 13
_shared_ 14
限制 14
4.2.3 执行配置 15
4.2.4 内置变量 15
gridDim 15
blockIdx 15
blockDim 15
threadIdx 15
warpSize 16
限制 16
4.2.5 使用 NVCC 进行编译 16
_noinline_ 16
#pragma unroll 16
4.3 通用运行时组件 17
4.3.1 内置向量类型 17
char1、uchar1、char2、uchar2、char3、uchar3、char4、uchar4、short1、ushort1、short2、ushort2、short3、ushort3、short4、ushort4、int1、uint1、int2、uint2、int3、uint3、int4、uint4、long1、ulong1、long2、ulong2、long3、ulong3、long4、ulong4、float1、float2、float3、float4、double2 17
dim3 类型 17
4.3.2 数学函数 17
4.3.3 计时函数 17
4.3.4 纹理类型 18
纹理参考声明 18
运行时纹理参考属性 18
来自线性存储器的纹理与来自 CUDA 数组的纹理 19
4.4 设备运行时组件 19
4.4.1 数学函数 19
4.4.2 同步函数 19
4.4.3 纹理函数 19
来自线性存储器的纹理 19
来自 CUDA 数组的纹理 20
4.4.4 原子函数 20
4.4.5 warp vote 函数 20
4.5 主机运行时组件 21
4.5.1 一般概念 21
设备 21
存储器 22
OpenGL 互操作性 22
Direct3D 互操作性 22
异步并发执行 22
4.5.2 运行时 API 23
初始化 23
设备管理 23
存储器管理 24
流管理 25
事件管理 25
纹理参考管理 25
OpenGL 互操作性 27
Direct3D 互操作性 27
使用设备模拟模式进行调试 28
4.5.3 驱动程序 API 29
初始化 29
设备管理 29
上下文管理 29
模块管理 30
执行控制 30
存储器管理 31
流管理 32
事件管理 32
纹理参考管理 33
0 OpenGL 互操作性 33
1 Direct3D 互操作性 33
第 5 章 性能指南 35
5.1 指令性能 35
5.1.1 指令吞吐量 35
数学指令 35
控制流指令 36
存储器指令 36
同步指令 37
5.1.2 存储器带宽 37
全局存储器 37
本地存储器 43
固定存储器 43
纹理存储器 43
共享存储器 43
寄存器 48
5.2 每个块的线程数量 49
5.3 主机和设备间的数据传输 49
5.4 纹理获取与全局或固定存储器读取的对比 50
5.5 整体性能优化战略 50
第 6 章 矩阵乘法示例 52
6.1 概述 52
6.2 源代码清单 53
6.3 源代码说明 54
6.3.1 Mul() 54
6.3.2 Muld() 54
附录 A 技术规范 56
A.1 一般规范 56
A.1.1 计算能力 1.0 的规范 56
A.1.2 计算能力 1.1 的规范 57
A.1.3 计算能力 1.2 的规范 57
A.1.4 计算能力 1.3 的规范 57
A.2 浮点标准 57
文档评论(0)