当前位置:主页 > 计算机电子书 > 程序设计 > OpenCL下载
OpenCL异构计算

OpenCL异构计算 PDF 高清版

  • 更新:2019-11-16
  • 大小:22.8 MB
  • 类别:OpenCL
  • 作者:贾斯特,张云泉
  • 出版:清华大学出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

OpenCL异构计算 PDF

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

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

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

本书特色

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

资源下载

资源下载地址1:https://pan.baidu.com/s/1vmZyB5ZusEaOCPXZInxzgA

相关资源

网友留言