OpenCL异构计算

OpenCL异构计算
作 者: 贾斯特 张云泉
出版社: 清华大学出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 程序设计
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《OpenCL异构计算》作者简介

内容简介

《OpenCL异构计算》讲解了OpenCL和如何针对复杂的异构系统(多核处理器、GPU和APU)进行并行编程。OpenCL是为支持多平台设计的,受行业广泛支持,有助于帮助读者为异构环境编写高性能应用程序。本书由并行计算和OpenCL社区中的领头人撰写,可帮助读者体验OpenCL从而了解大量基础的并行算法。书中探索了内存空间、优化技术、图形的互操作、性能扩展,调试和性能剖析等。本书适合软件工程师、程序员、硬件工程师、高年级本科生/研究生阅读和参考,也可供并行编程课程使用。《OpenCL异构计算》提供OpenCL的第一手资料,详尽阐述了如何在异构环境下进行并行编程。第1章首先介绍如何在并行系统下编程,定义异构编程需要理解的概念。第2~4章循序渐进地介绍OpenCL的基小架构。第5章和第6章对这些概念加以扩展,旨在帮助读者更好地理解。第7~10章提供4个更复杂的案例学刊,让读者理解到OpenCL具有广泛的应用。第11~13章锁定高级主题展开讨论。《OpenCL异构计算》可帮助学生和研究人员更好地理解通用异构计算(尤其是OpenCL提供的解决方案),尤其是适合不同经验水甲的学生,可以作为OpenCL课程的教材或其他课程的参考,例如并行编程课程和高级课程。

图书目录

第一章 并行编程入门

 引言

 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照片编辑器

 讨论

 小结

参考文献

扩展阅读和相关网站

索引