图书介绍
OpenCL 编程指南PDF|Epub|txt|kindle电子书版本下载
- (美)AaftabMunshiBendeictR.GasterTimothyG.MattsonJamesFungDanGinsburg著;苏金国,李璜,杨健康等译 著
- 出版社: 北京:机械工业出版社
- ISBN:7030349637
- 出版时间:2013
- 标注页数:404页
- 文件大小:137MB
- 文件页数:426页
- 主题词:
PDF下载
下载说明
OpenCL 编程指南PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分OpenCL 1.1语言与API2
第1章OpenCL介绍2
1.1什么是OpenCL,或者为什么需要这本书2
1.2多核的未来:异构平台2
1.3多核世界中的软件4
1.4 OpenCL的概念基础7
1.4.1平台模型7
1.4.2执行模型8
1.4.3内存模型13
1.4.4编程模型15
1.5 OpenCL与图形18
1.6 OpenCL的内容19
1.6.1平台API19
1.6.2运行时API20
1.6.3内核编程语言20
1.6.4 OpenCL小结22
1.7嵌入式简档22
1.8学习OpenCL23
第2章HelloWorld:一个OpenCL例子24
2.1构建示例24
2.1.1必备条件25
2.1.2 Mac OS X与Code::Blocks25
2.1.3 Microsoft Windows与Visual Studio26
2.1.4 Linux与Eclipse28
2.2 HelloWorld示例29
2.2.1选择OpenCL平台并创建一个上下文31
2.2.2选择设备并创建命令队列33
2.2.3创建和构建程序对象34
2.2.4创建内核和内存对象36
2.2.5执行内核37
2.3检查OpenCL中的错误39
第3章 平台、上下文和设备41
3.1 OpenCL平台41
3.2 OpenCL设备44
3.3 OpenCL上下文53
第4章OpenCL C编程64
4.1使用OpenCL C编写数据并行内核64
4.2标量数据类型65
4.3矢量数据类型67
4.3.1矢量字面量68
4.3.2矢量分量69
4.4其他数据类型71
4.5衍生类型71
4.6隐式类型转换72
4.7显式强制类型转换76
4.8显式转换77
4.9将数据重新解释为另一种类型80
4.10矢量操作符82
4.10.1算术操作符83
4.10.2关系和相等操作符84
4.10.3位操作符85
4.10.4逻辑操作符85
4.10.5条件操作符86
4.10.6移位操作符86
4.10.7一元操作符87
4.10.8赋值操作符88
4.11限定符89
4.11.1函数限定符89
4.11.2内核属性限定符90
4.11.3地址空间限定符91
4.11.4访问限定符94
4.11.5类型限定符95
4.12关键字95
4.13预处理器指令和宏96
4.13.1 pragma指令97
4.13.2宏98
4.14限制99
第5章OpenCL C内置函数101
5.1工作项函数101
5.2数学函数103
5.2.1浮点pragma107
5.2.2浮点常量108
5.2.3相对误差作为ulp108
5.3整数函数111
5.4公共函数113
5.5几何函数115
5.6关系函数116
5.7矢量数据加载和存储函数119
5.8同步函数124
5.9异步复制和预取函数125
5.10原子函数127
5.11杂项矢量函数130
5.12图像读、写函数131
5.12.1读图像132
5.12.2采样器134
5.12.3确定边界颜色137
5.12.4写图像137
5.12.5查询图像信息138
第6章 程序与内核140
6.1程序和内核对象概述140
6.2程序对象140
6.2.1创建和构建程序141
6.2.2程序构建选项143
6.2.3由二进制码创建程序145
6.2.4管理和查询程序153
6.3内核对象153
6.3.1创建内核对象和设置内核参数153
6.3.2线程安全性156
6.3.3管理和查询内核157
第7章 缓冲区和子缓冲区159
7.1内存对象、缓冲区和子缓冲区概述159
7.2创建缓冲区和子缓冲区160
7.3查询缓冲区和子缓冲区166
7.4读、写和复制缓冲区和子缓冲区167
7.5映射缓冲区和子缓冲区180
第8章 图像和采样器183
8.1图像和采样器对象183
8.2创建图像对象184
8.2.1图像格式187
8.2.2查询图像支持189
8.3创建采样器对象189
8.4处理图像的OpenCL C函数192
8.5传输图像对象194
第9章 事件201
9.1命令、队列和事件概述201
9.2事件和命令队列202
9.3事件对象206
9.4宿主机上生成事件208
9.5影响宿主机上执行的事件209
9.6使用事件完成评测212
9.7内核中的事件216
9.8 OpenCL外部的事件217
第10章与OpenGL的互操作218
10.1 OpenCL/OpenGL共享概述218
10.2查询OpenGL共享扩展218
10.3初始化OpenCL上下文实现OpenGL互操作220
10.4从OpenGL缓冲区创建OpenCL缓冲区221
10.5由OpenGL纹理创建OpenCL图像对象225
10.6查询OpenGL对象的信息226
10.7 OpenGL和OpenCL之间的同步227
第11章与Direct3 D的互操作230
11.1 Direct3D/OpenCL共享概述230
11.2初始化OpenCL上下文实现Direct3 D互操作230
11.3从Direct3 D缓冲区和纹理创建OpenC L内存对象233
11.4 OpenCL中获取和释放Direct3 D对象236
11.5 OpenCL中处理Direct3 D纹理237
11.6 OpenCL中处理D3 D顶点数据240
第12章C++++包装器API242
12.1 C++++包装器API概述242
12.2 C++++包装器API异常244
12.3使用C++++包装器API的矢量相加示例246
12.3.1选择OpenCL平台并创建一个上下文246
12.3.2选择一个设备并创建命令队列246
12.3.3创建和构建程序对象247
12.3.4创建内核和内存对象248
12.3.5执行矢量相加内核248
第13章OpenCL嵌入式简档253
13.1 OpenCL简档概述253
13.2 64位整数254
13.3图像255
13.4内置原子函数256
13.5强制最小单精度数浮点能力256
13.6 OpenCL C程序中确定设备支持的简档258
第二部分OpenCL 1.1案例研究260
第14章 图像直方图260
14.1计算图像直方图260
14.2并行实现图像直方图261
14.3对并行图像直方图的优化266
14.4每个通道使用半浮点或浮点值计算直方图268
第15章Sobel边界检测过滤器272
15.1什么是Sobel边界检测过滤器272
15.2实现Sobel过滤器作为OpenCL内核272
第16章 并行实现Dijkstra单源最短路径图算法276
16.1图数据结构276
16.2内核278
16.3利用多个计算设备281
第17章Bullet Physics SDK中的布模拟286
17.1布模拟介绍286
17.2模拟柔软物体288
17.3 CPU上执行模拟290
17.4实现基本GPU执行所需要的修改291
17.5两层分批296
17.6 SIMD计算和局部内存优化298
17.7增加OpenGL互操作302
第18章 用快速傅里叶变换模拟海洋305
18.1 Ocean应用程序概述305
18.2 Phillips频谱生成308
18.3 OpenCL离散傅里叶变换311
18.3.1确定2D分解311
18.3.2使用局部内存312
18.3.3确定子变换大小313
18.3.4确定工作组大小314
18.3.5得到旋转因子314
18.3.6确定需要多少局部内存314
18.3.7避免局部内存库冲突315
18.3.8使用图像315
18.4详细分析FFT内核315
18.5详细分析转置内核318
第19章 光流320
19.1光流问题概述320
19.2用硬件线性插值提供亚像素精度328
19.3纹理缓存的应用329
19.4使用局部内存329
19.5提前退出和硬件调度331
19.6利用OpenGL互操作实现高效可视化331
19.7性能332
第20章 用PyOpenCL使用OpenCL333
20.1PyOpenCL介绍333
20.2运行PyImageFilter2 D示例333
20.3 PyImageFilter2D代码334
20.4上下文和命令队列创建337
20.5加载到图像对象338
20.6创建和构建程序339
20.7设置内核参数和执行内核340
20.8读取结果340
第21章 使用OpenCL完成矩阵乘法342
21.1基本矩阵乘法算法342
21.2直接转换到OpenCL343
21.3增加每个内核的工作量347
21.4优化内存移动:局部内存350
21.5性能结果和优化原来的CPU代码352
第22章 稀疏矩阵矢量乘法354
22.1稀疏矩阵矢量乘法算法354
22.2实现描述355
22.3分块和分组稀疏矩阵表示357
22.4首部结构359
22.5分块分组稀疏矩阵设计考虑359
22.6可选的组信息360
22.7测试的硬件设备和结果360
22.8其他优化领域372
附录A OpenCL 1.1小结373