文档详情

NVIDIA CUDA.doc

发布:2017-08-03约7.87万字共77页下载文档
文本预览下载声明
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
显示全部
相似文档