OpenCL异构计算
查字典图书网
当前位置: 查字典 > 图书网 > 编程> OpenCL异构计算

OpenCL异构计算

7.8

作者:
出版社: 清华大学出版社
原作名: Heterogeneous Computing with OpenCL
译者: 张先轶  |  龙国平  |  姚继锋  |  张云泉  |  Dana Schaa
出版年: 2012-6
页数: 271
定价: 76.00元
装帧: 精装
ISBN: 9787302286851



推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

内容简介:

《OpenCL异构计算》讲解了OpenCL和如何为复杂的异构系统(多核处理器、GPU和APU)进行并行编程。OpenCL是为支持多平台设计的,受行业广泛支持,有助于帮助读者为异构环境编写高性能应用程序。

本书由并行计算和OpenCL社区中的领头人所撰写,可帮助读者体验OpenCL从而了解大量基础的并行算法。书中探索了内存空间、优化技术、图形的互操作、性能扩展,调试和性能剖析等。

本书读者对象为软件工程师、程序员、硬件工程师、高年级本科生/研究生,可供并行编程课程使用,包含有详细的案例,附有额外的网上练习和其他支持材料。

本书特色

· 解释OpenCL并行编程的原理和策略,从理解四大抽象模型开始,一直介绍到测试和调试完整的应用

· 覆盖图像处理、Web插件、粒子模拟、视频编辑和性能优化等主题

· 展示OpenCL如何映射到目标体系结构,并解释一些映射到各种体系结构的折衷方案

· 提出一系列基础编程技术,并通过若干个实例和案例分析来展示针对不同硬件平台的OpenCL扩展

本书配套网站提供本书相关信息、各章包含的示意图、范例代码、附加示例及勘误信息等,网址如下:

http://www.heterogeneouscompute.org/?page_id=7

作者简介:

Benedict R. Gaster是一位致力于研究下一代异构处理器编程模型的软件架构师,具体研究新一代处理器(同时包含CPU和GPU加速器)进行并行编程的高层次抽象。他对OpenCL的设计做出了广泛的贡献,并在Khronos Group(科纳斯组织)的开放标准联盟中代表AMD。他因为类型系统的可扩展标记和变量的研究成果而获得计算机科学博士学位。

Lee Howes已经在AMD工作两年多,目前的研究集中于未来异构计算的编程模型。他的研究举在于如何以声明方式表示迭代域到数据的映射,用通俗易懂的方式向开发人员说明复杂的架构概念和优化技术,这两者都通过编程模型的改进和教育来实现。他因为这一领域的研究成果而获得伦敦帝国学院计算机科学的博士学位。

David Kaeli获得罗格斯大学电气工程专业的学士和博士学位,雪城大学计算机工程专业的硕士学位。他是东北大学工程学院本科课程的副院长兼欧洲经委会学院的全职教授,东北大学计算机系统结构研究实验室主管(NUCAR负责人)。在1993年加入东北大学之前,他曾在IBM工作12年。在这12年当中,后7年在T. J. Watson研究中心(位于纽约市Yorktown Heights)工作。作为合著者发表了200多篇经过严格评审的文献。他的研究范围很广,包括微架构到后端编译器和软件工程。他指导了GPU计算领域方面的很多研究项目。目前,他担任计算机系统结构IEEE技术委员会主席。他是IEEE会士和ACM成员。

Perhaad Mistry目前在东北大学攻读博士学位。他获得孟买大学电子工程专业学士学位和东北大学计算机工程专业硕士学位。他目前是东北大学计算机系统结构实验室的一员,导师是David Kaeli。他做过很多并行计算项目。他曾为GPGPU平台的物理模拟设计了可扩展数据结构,还针对异构设备实施了医疗重建算法。目前的研究重点在于异构计算分析工具的设计。他正在研究采用诸如OpenCL之类的标准是否能够用于构建出合适的工具来简化当下跨大量异构设备运行的并行编程和性能分析。

Dana Schaa拥有加州理工大学圣路易奥比斯波分校计算机工程学士和东北大学电气和计算机工程的硕士学位,他目前也在东北大学攻读博士学位。他的研究兴趣包括并行编程模型和抽象,特别针对GPU架构。他已经开发了基于GPU实现的几个医疗成像研究项目,从实时可视化到分布式异构环境的图像重建。他在2010年娶了一位出色的妻子Jenny,他们与他们可爱的猫一起生活在波士顿。

目录:

《opencl异构计算》

第1章 并行编程入门 1

引言 1

opencl 1

本书目标 2

并行思维 2

并发编程模型和并行编程模型 6

线程和共享内存 9

消息传递通信 9

不同的并行粒度 10

数据共享和同步 11

本书结构 11

参考文献 12

扩展阅读和相关网站 13

第2章 opencl简介 15

引言 15

opencl标准 15

opencl 规范 15

kernel和opencl执行模型 16

平台和设备 19

.主机-设备交互 19

执行环境 21

上下文 22

命令队列 22

事件 23

内存对象 23

flush命令和finish命令 26

新建一个opencl程序对象 26

opencl的kernel 27

内存模型 29

编写kernel 31

向量相加实例的完整代码 32

小结 39

参考文献 39

第3章 opencl设备架构 41

引言 41

硬件权衡 41

性能随频率的提升及其限制 43

超标量执行 44

vliw 44

simd和向量处理 47

硬件多线程 48

多核架构 51

集成:片上系统和apu 53

高速缓存层次和内存系统 54

架构设计空间 55

cpu设计 56

gpu体系结构 60

apu和类apu的设计 63

小结 64

参考文献 65

第4章 opencl基本实例 67

引言 67

应用实例 67

简单的矩阵相乘 67

图像卷积实例 77

小结 85

第5章 opencl的并发与执行模型 87

引言 87

kernel,work_item,workgroup和

执行域 87

opencl同步:kernel,fence和barrier 90

队列与全局同步 94

opencl内存一致性 96

事件 96

命令barrier与marker 108

主机端内存模型 109

buffer对象 110

image对象 113

设备端内存模型 115

设备端宽松的内存一致性 116

全局内存 117

本地内存 119

常量内存 121

私有内存 122

小结 122

第6章 opencl在cpu/gpu

平台上的实现 123

引言 123

opencl在amd phenom ii x6上的

实现 123

opencl在amd radeon hd6970

gpu上的实现 128

多线程和内存系统 130

基于clause的simd执行 132

资源分配 137

opencl的内存性能 139

opencl全局内存 139

本地内存——软件管理的cache 142

小结 148

参考文献 149

第7章 opencl案例学习1:卷积 151

引言 151

计算卷积的kernel 151

选择合适的workgroup大小 151

将数据缓存到本地内存 154

执行卷积 160

小结 161

代码清单 162

主机端代码 162

kernel代码 166

参考文献 171

第8章 opencl案例学习2:

视频处理 173

引言 173

获得视频帧 173

cpu上的解码 174

在gpu上解码视频 175

在opencl中处理一个视频 179

在多个视频上处理多个不同effect 180

事件链 180

最终输出显示到屏幕 181

opencl/opengl协同工作能力 181

小结 184

第9章 opencl案例学习3:

直方图 185

引言 185

选择适量的work-group 185

选择最优的work-group大小 186

全局内存访存优化 187

使用原子操作计算局部直方图 189

本地内存访存优化 190

局部直方图的规约 192

全局规约 193

完整的kernel代码 193

性能和小结 196

第10章 opencl案例学习4:

混合粒子模拟 197

引言 197

计算概览 197

gpu实现 200

创建buffer 200

构造加速结构 201

计算碰撞 201

合成 202

cpu实现 202

负载均衡 203

性能和小结 204

生成均匀网格的kernel代码 205

粒子模拟的kernel代码 206

第11章 opencl扩展 211

引言 211

扩展机制概览 211

设备拆分 214

双精度 225

参考文献 233

第12章 opencl的性能剖析和

调试 235

引言 235

基于事件的剖析 236

amd app profiler 238

收集opencl程序轨迹 239

收集opencl gpu kernel性能

计数器 242

amd app kernelanalyzer 243

演示amd app profiler 245

启动amd app profiler 245

使用应用程序的轨迹数据

以发现性能瓶颈 245

使用gpu性能计数器发现kernel的

性能瓶颈 247

调试opencl应用程序 248

gdebugger概览 249

使用gdebugger调试并行opencl

应用程序 249

amd printf扩展 251

小结 253

第13章 webcl 255

引言 255

框架设计 256

webcl 实验性实现 257

firefox扩展 257

连接javascript和opencl 258

webcl动手练习 260

web照片编辑器 264

讨论 266

小结 268

参考文献 268

扩展阅读和相关网站 269

索引 271

展开全文
热门标签:
暂无评论
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •