图书介绍
GPGPU编程技术 从GLSL、CUDA到OpenCLPDF|Epub|txt|kindle电子书版本网盘下载
![GPGPU编程技术 从GLSL、CUDA到OpenCL](https://www.shukui.net/cover/70/30739245.jpg)
- 仇德元编著 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111347811
- 出版时间:2011
- 标注页数:323页
- 文件大小:181MB
- 文件页数:334页
- 主题词:程序设计
PDF下载
下载说明
GPGPU编程技术 从GLSL、CUDA到OpenCLPDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 概述1
1.1 图形处理器1
1.1.1 图形处理器的发展3
1.1.2 图形处理器的作用4
1.2 着色语言5
1.2.1 图形流水线5
1.2.2 OpenGL:流水线的一种实现7
1.2.3 可编程图形流水线和GLSL8
1.3 GPGPU语言9
1.3.1 异构计算资源9
1.3.2 统一着色器模型10
1.3.3 CUDA11
1.3.4 OpenCL12
1.4 为什么选择GPGPU技术13
1.4.1 桌上的超级计算机13
1.4.2 从处理器结构说起14
1.4.3 GPGPU的应用16
1.5 几个基本概念18
1.5.1 并行计算模型:SIMD19
1.5.2 数据传输的瓶颈22
1.5.3 GPGPU算法设计准则24
1.5.4 GPGPU技术的适用范围24
1.6 系统需求26
1.6.1 硬件配置26
1.6.2 软件设置27
1.7 一个简单的例子:离散卷积29
第2章 GLSL:一门着色语言36
2.1 OpenGL的安装36
2.1.1 在Windows中安装OpenGL37
2.1.2 在Linux中安装OpenGL37
2.1.3 在Mac OS X 中安装OpenGL38
2.1.4 例程的开发环境39
2.2 一个简短的OpenGL程序40
2.2.1 编译预处理42
2.2.2 有限状态机42
2.2.3 回调函数43
2.2.4 深度缓存48
2.2.5 窗口程序的典型流程49
2.2.6 OpenGL的图形流水线50
2.3 第二版:替换着色器51
2.3.1 GLSL基础52
2.3.2 流经着色器55
2.3.3 着色器对象56
2.3.4 程序对象57
2.3.5 编译和链接58
2.3.6 ARB扩展59
2.3.7简短的OpenGL程序(第二版)59
2.4 第三版:与OpenGL通信63
第3章 经典GPGPU技术67
3.1 纹理映射等于科学计算吗67
3.1.1 纹理映射概述67
3.1.2 几何图元68
3.1.3 位图与并行流水线70
3.1.4 纹理图73
3.1.5 纹理坐标76
3.1.6 纹理参数76
3.1.7 映射参数79
3.1.8 纹理对象79
3.1.9 纹理单元80
3.2 经典GPGPU的理念81
3.2.1 经典GPGPU计算流程81
3.2.2 GPU与CPU的类比88
3.3 纹理存储器89
3.3.1 纹理类型和纹理格式89
3.3.2 写入与读回纹理90
3.3.3 使用硬件加速94
3.4 使用GLSL加速的离散卷积95
3.4.1 主程序通贯95
3.4.2 清除着色器107
3.4.3 卷积核107
3.4.4 性能110
3.5 经典GPGPU的优与劣110
第4章 CUDA:流行的GPGPU语言111
4.1 关于CUDA111
4.1.1 聚集和散布112
4.1.2 可扩展的编程模型112
4.1.3 SIMT:单指令多线程113
4.1.4 并发计算114
4.2 准备工作115
4.2.1 CUDA的安装和编译116
4.2.2 检查硬件配置122
4.3 第一个CUDA程序129
4.3.1 CUTIL内联库129
4.3.2 线程组的结构130
4.3.3 分配存储空间131
4.3.4 定义内核132
4.3.5 主机/设备的数据复制133
4.3.6 完整的程序133
4.3.7 二维的block136
4.4 CUDA的基本概念137
4.4.1 内核137
4.4.2 线程139
4.4.3 存储器140
4.5 计算能力150
4.5.1 计算能力1.x151
4.5.2 计算能力2.0151
4.6 计算模式153
4.6.1 异步并发154
4 6.2 流154
第5章 CUDA内核优化实践157
5.1 实现缩减内核157
5.1.1 用经典GPGPU方法来实现157
5.1.2 用CUDA来实现158
5.1.3 运行计时160
5.2 并行缩减163
5.2.1 存储器带宽163
5.2.2 分组缩减164
5.3 科学使用设备存储器168
5.4 大规模并行缩减170
5.4.1 增加并行计算规模170
5.4.2 最优的线程配置173
5.5 启用共享存储器174
5.5.1 在多处理器上求和174
5.5.2 缩减树176
5.5.3 避免共享存储器的bank冲突178
5.6 指令开销182
5.6.1 控制指令183
5.6.2 同步指令184
5.6.3 算数指令187
5.7 nvcc编译器189
5.7.1 常用参数190
5.7.2 查看执行配置190
5.7.3 全局存储器片上缓存191
5.7.4 限制使用寄存器191
5.7.5 本地存储器191
5.7.6 数据精度192
5.8 资源占用率193
5.8.1 Compute Visual Profiler统计资源占用率194
5.8.2 CUDA资源占用率计算器194
5.8.3 提高资源占用率195
5.9 小结196
第6章 CUDA与纹理映射197
6.1 CUDA的纹理存储器197
6.1.1 纹理存储器与全局存储器197
6.1.2 线性存储器和CUDA数组198
6.2 纹理引用198
6.3 纹理拾取199
6.3.1 纹理坐标200
6.3.2 纹理寻址200
6.3.3 纹理滤波200
6.4 CUDA数组202
6.5 写入与读回纹理203
6.6 用CUDA加速的离散卷积206
第7章 关于CUDA的更多211
7.1 与C++集成211
7.1.1 CUDA SDK里的cppIntegration示例211
7.1.2 CuPP工具212
7.1.3 一个简易的集成框架213
7.2 CUDA-GDB调试器218
7.3 仿真模式223
7.4 有用的CUDA程序库224
7.4.1 官方程序库224
7.4.2 其他CUDA程序库226
7.4.3 CUDA软件开发包228
7.4.4 CUDA实用程序库231
7.5 多GPU系统232
7.5.1 选取一个GPU234
7.5.2 SLI技术和CUDA234
7.5.3 同时使用多个GPU235
7.5.4 多用户多GPU系统242
7.6 CUDA语言绑定243
7.6.1 MATLAB243
7.6.2 IDL246
7.6.3 Python247
7.6.4 Fortran248
7.6 5 Java249
7.6.6 .NET250
第8章 OpenCL:跨平台的解决方案252
8.1 关于OpenCL252
8.1.1 OpenCL的平台无关性253
8.1.2 OpenCL与其他GPGPU语言254
8.1.3 安装和编译254
8.2 准备工作256
8.2.1 收集错误信息256
8.2.2 检查计算平台257
8.3 OpenCL的计算架构261
8.3.1 平台模型261
8.3.2 执行模型262
8.3.3 存储器模型266
8.3.4 编程模型268
8.4 OpenCL C269
8.4.1 内建数据类型269
8.4.2 向量271
8.4.3 限定符273
8.4.4 内建函数274
8.4.5 预处理指令:#pragma276
8.5 OpenCL计算流程276
8.5.1 初始化276
8.5.2 创建内核277
8.5.3 主机/设备数据传输279
8.5.4 执行内核279
8.5.5 释放对象280
8.5.6 总结280
8.6 编程实践280
8.6.1 完整的平方程序280
8.6.2 内核计时284
8.6.3 Compute Visual Profiler286
8.7 API的C++绑定286
8.7.1 简介286
8.7.2 用法举例287
8.8 OpenCL与HPC289
8.8.1 OpenCL开发软件289
8.8.2 OpenCL的语言绑定289
8.8.3 OpenCL库290
8.8.4 OpenCL与多GPU系统290
8.9 OpenCL与CUDA291
8.9.1 概念类比291
8.9.2 限定符类比291
8.9.3 线程索引类比292
8.9.4 与CUDA驱动程序API相关的类比292
附录294
附录A 计时类294
附录B 文本读取类296
附录C 内存分配类298
附录D 枚举变量cudaError的元素301
附录E 结构体cudaDeviceProp的成员303
附录F 支持CUDA的GPU及其计算能力等级304
附录G 不同计算能力等级的特性306
附录H 多GPU框架:GPUWorker308
附录I 缩略语表319
参考文献321