第一图书网

OpenCL异构计算

Benedict R. Gaster,Lee Howes,David R. Kaeli,Perhaad Mistry,Dana Schaa 清华大学出版社
出版时间:

2012-6  

出版社:

清华大学出版社  

作者:

Benedict R. Gaster,Lee Howes,David R. Kaeli,Perhaad Mistry,Dana Schaa  

页数:

277  

字数:

390000  

译者:

张云泉,张先轶,龙国平,姚继锋  

Tag标签:

无  

内容概要

《OpenCL异构计算》编著者 Benedict R.Gaster、Lee
Howes、David 、R.Kaeli、 Perhaad Mistry、Dana Schaa 。 
《opencl异构计算》提供opencl的第一手资料,详尽阐述了如何在异构环境下进行并行编程。第1章首先介绍如何在并行系统下编程,定义异构编程需要理解的概念。第2~4章循序渐进地介绍opencl的基本架构。第5章和第6章对这些概念加以扩展,旨在帮助读者更好地理解。第7~10章提供4
个更复杂的案例学习,让读者理解到opencl具有广泛的应用。第11~13章锁定高级主题展开讨论。  本书可帮助学生和研究人员更好地理解通用异构计算(尤其是opencl提供的解决方案),尤其是适合不同经验水平的学生,可以作为opencl课程的教材或其他课程的参考,例如并行编程课程和高级课程。

作者简介

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
 本书目标
 并行思维
 并发编程模型和并行编程模型
 线程和共享内存
 消息传递通信
 不同的并行粒度
 数据共享和同步
 本书结构
 参考文献
 扩展阅读和相关网站
第二章 opencl简介
 引言
 opencl标准
 opencl 规范
 kernel和opencl执行模型
 平台和设备
 主机-设备交互
 执行环境
 上下文
 命令队列
 事件
 内存对象
 flush命令和finish命令
 新建一个opencl程序对象
 opencl的kernel
 内存模型
 编写kernel
 向量相加实例的完整代码
 小结
 参考文献
第三章 opencl设备架构
 引言
 硬件权衡
 性能随频率的提升及其限制
 超标量执行
 vliw
 simd和向量处理
 硬件多线程
 多核架构
 集成:片上系统和apu
 高速缓存层次和内存系统
 架构设计空间
 cpu设计
 gpu体系结构
 apu和类apu的设计
 小结
 参考文献
第四章 opencl基本实例
 引言
 应用实例
 简单的矩阵相乘
 图像卷积实例
 小结
第五章 opencl的并发与执行模型
 引言
 kernel,work_item,workgroup和
 执行域
 opencl同步:kernel,fence和barrier
 队列与全局同步
 opencl内存一致性 事件
 命令barrier与marker
 主机端内存模型
 buffer对象
 image对象
 设备端内存模型
 设备端宽松的内存一致性
 全局内存
 本地内存
 常量内存
 私有内存
 小结
第六章 opencl在cpu/gpu
 平台上的实现
 引言
 opencl在amd phenom ii x上的
 实现
 opencl在amd radeon hd
 gpu上的实现
 多线程和内存系统
 基于clause的simd执行
 资源分配
 opencl的内存性能
 opencl全局内存
 本地内存——软件管理的cache
 小结
 参考文献
 
第七章 opencl案例学习:卷积
 引言
 计算卷积的kernel
 选择合适的workgroup大小
 将数据缓存到本地内存
 执行卷积
 小结
 代码清单
 主机端代码
 kernel代码
 参考文献
第八章 opencl案例学习:
 视频处理
 引言
 获得视频帧
 cpu上的解码
 在gpu上解码视频
 在opencl中处理一个视频
 在多个视频上处理多个不同effect
 事件链
 最终输出显示到屏幕
 opencl/opengl协同工作能力
 小结
第九章 opencl案例学习:直方图
 引言
 选择适量的work-group
 选择最优的work-group大小
 全局内存访存优化
 使用原子操作计算局部直方图
 本地内存访存优化
 局部直方图的规约
 全局规约
 完整的kernel代码
 性能和小结
第十章 opencl案例学习:
 混合粒子模拟
 引言
 计算概览
 gpu实现
 创建buffer
 构造加速结构
 计算碰撞
 合成
 cpu实现
 负载均衡
 性能和小结
 生成均匀网格的kernel代码
 粒子模拟的kernel代码
第十一章 opencl扩展
 引言
 扩展机制概览
 设备拆分
 双精度
 参考文献
第十二章 opencl的性能剖析和
 调试
 引言
 基于事件的剖析
 amd app profiler
 收集opencl程序轨迹
 收集opencl gpu kernel性能
 计数器
 amd app kernelanalyzer
 演示amd app profiler
 启动amd app profiler
 使用应用程序的轨迹数据
 以发现性能瓶颈
 使用gpu性能计数器发现kernel的
 性能瓶颈
 调试opencl应用程序
 gdebugger概览
 使用gdebugger调试并行opencl
 应用程序
 amd printf扩展
 小结
第十三章 webcl
 引言
 框架设计
 webcl 实验性实现
 firefox扩展
 连接javascript和opencl
 webcl动手练习
 web照片编辑器
 讨论
 小结
参考文献
扩展阅读和相关网站
索引


编辑推荐

  本书特色  ·解释OpenCL并行编程的原理和策略,从理解四大抽象模型开始,一直介绍到测试和调试完整的应用  ·覆盖图像处理、Web插件、粒子模拟、视频编辑和性能优化等主题  ·展示OpenCL如何映射到目标体系结构,并解释-些映射到各种体系结构的折衷方案  ·提出一系列基础编程技术,并通过若干个实例和案例分析来展示针对不同硬件平台的OpenCL扩展

图书封面

图书标签Tags

广告

下载页面


OpenCL异构计算 PDF格式下载



对OpenCL有帮助,在目前GPU计算事实标准没有出台前使用OpenCL不失为一个较好的选择。


印刷质量很好,全面介绍OpenCL编程方法。


专业书籍,学习使用的。


期待并罚程序的书


翻译的很不错,就是印刷差了点


活动时候买的,先存折


本书不太适合入门读者,建议先读《OpenCL编程指南》


比较专业,毕竟OpenCL用的较少。


这么前沿的技术,被印刷成这样,很失望。


不到300页,每页2毛钱的书不常见。原版Elsevier收录,中文版短时间内没办法的事。代码部分颜色过淡,虽然能够阅读,但多少让人觉得缩水。内容还没看,AMD的人出的。估计是入门书,案例占少半本,希望足够简单吧。


此书讲解过于粗略


相关图书