《FPGA异构计算 基于OpenCL的开发方法》PDF下载

  • 购买积分:8 如何计算积分?
  • 作  者:黄乐天,范兴山,彭军等编著
  • 出 版 社:西安:西安电子科技大学出版社
  • 出版年份:2015
  • ISBN:9787560637709
  • 页数:142 页
图书介绍:2011年Altera公司发布支持利用OpenCL来开发FPGA的SDK工具以后,采用CPU+FPGA异构计算系统的基本架构和开发方法,本书主要介绍了FPGA异构计算系统的基本架构和开发方法,并以多个不同的案例为读者展示如何利用几种常用的优化方法来进一步提升系统性能。

第一章 FPGA异构计算 1

1.1 异构计算的发展 1

1.2 FPGA发展简介 3

1.2.1 FPGA发展史 3

1.2.2 FPGA结构的演变 7

第二章 OpenCL基础 14

2.1 OpenCL简介 14

2.2 OpenCL模型 15

2.2.1 平台模型 15

2.2.2 执行模型 16

2.2.3 存储模型 17

2.2.4 编程模型 19

2.3 OpenCL事件 19

2.3.1 命令事件 20

2.3.2 事件管理 21

2.3.3 用户自定义事件 24

2.3.4 事件回调 25

2.3.5 进行评测 28

2.3.6 内核事件 32

2.4 OpenCL同步 33

2.4.1 设备端同步 33

2.4.2 宿主机端同步 35

第三章 基于OpenCL的FPGA开发流程 43

3.1 搭建OpenCL开发环境 43

3.1.1 开发环境选择 43

3.1.2 开发环境搭建流程 44

3.2 开发流程 51

3.2.1 建立FPGA工程 51

3.2.2 编写源程序 52

3.2.3 调试内核 56

3.2.4 内核编译及下载 58

3.2.5 工程配置及运行 60

第四章 FPGA的OpenCL实现机制 66

4.1 基于FPGA的异构计算平台 66

4.2 访存机制 68

4.2.1 全局存储 68

4.2.2 本地存储 69

4.2.3 访存聚合 71

4.2.4 访存流化 72

4.3 调度与控制机制 73

4.3.1 同步机制 73

4.3.2 线程调度机制 73

4.3.3 迭代控制 76

4.3.4 分支跳转 76

第五章 OpenCL程序优化 79

5.1 数据传输优化 79

5.2 存储访问优化 80

5.2.1 全局访存 80

5.2.2 本地访存 83

5.3 数据处理优化 85

5.3.1 多流水线 85

5.3.2 向量化 86

5.3.3 循环展开 90

5.3.4 平衡树 92

5.4 其他优化手段 93

5.4.1 运算精度 93

5.4.2 优化的代码风格 94

5.4.3 吞吐率 95

5.4.4 运算开销 96

5.5 优化流程 97

第六章 实现案例 99

6.1 矩阵乘法 99

6.1.1 初始内核代码 99

6.1.2 优化过程 101

6.1.3 优化结果分析 109

6.2 求解广义逆矩阵 109

6.2.1 算法的实现结构 110

6.2.2 优化过程 113

6.2.3 优化结果 117

6.3 图像卷积 117

6.3.1 图像卷积算法实现代码 117

6.3.2 优化过程 119

6.3.3 优化结果 125

6.4 K-means聚类算法 126

6.4.1 算法的并行实现 127

6.4.2 运行结果分析 132

6.4.3 进一步优化 134

附录 136

参考文献 142