第一章 FPGA異構計算
1.1 異構計算的發(fā)展
1.2 FPGA發(fā)展簡(jiǎn)介
1.2.1 FPGA發(fā)展史
1.2.2 FPGA結構的演變
第二章 OponCL基礎
2.1 OpenCL簡(jiǎn)介
2.2 OpenCL模型
2.2.1 平臺模型
2.2.2 執行模型
2.2.3 存儲模型
2.2.4 編程模型
2.3 OpenCL事件
2.3.1 命令事件
2.3.2 事件管理
2.3.3 用戶(hù)自定義事件
2.3.4 事件回調
2.3.5 進(jìn)行評測
2.3.6 內核事件
2.4 OpenCL同步
2.4.1 設備端同步
2.4.2 宿主機端同步
第三章 基于OpenCL的FPGA開(kāi)發(fā)流程
3.1 搭建OpenCL開(kāi)發(fā)環(huán)境
3.1.1 開(kāi)發(fā)環(huán)境選擇
3.1.2 開(kāi)發(fā)環(huán)境搭建流程
3.2 開(kāi)發(fā)流程
3.2.1 建立FPGA工程
3.2.2 編寫(xiě)源程序
3.2.3 調試內核
3.2.4 內核編譯及下載
3.2.5 工程配置及運行
第四章 FPGA的OpenCL實(shí)現機制
4.1 基于FPGA的異構計算平臺
4.2 訪(fǎng)存機制
4.2.1 全局存儲
4.2.2 本地存儲
4.2.3 訪(fǎng)存聚合
4.2.4 訪(fǎng)存流化
4.3 調度與控制機制
4.3.1 同步機制
4.3.2 線(xiàn)程調度機制
4.3.3 迭代控制
4.3.4 分支跳轉
第五章 OpenCL程序優(yōu)化
5.1 數據傳輸優(yōu)化
5.2 存儲訪(fǎng)問(wèn)優(yōu)化
5.2.1 全局訪(fǎng)存
5.2.2 本地訪(fǎng)存
5.3 數據處理優(yōu)化
5.3.1 多流水線(xiàn)
5.3.2 向量化
5.3.3 循環(huán)展開(kāi)
5.3.4 平衡樹(shù)
5.4 其他優(yōu)化手段
5.4.1 運算精度
5.4.2 優(yōu)化的代碼風(fēng)格
5.4.3 吞吐率
5.4.4 運算開(kāi)銷(xiāo)
5.5 優(yōu)化流程
第六章 實(shí)現案例
6.1 矩陣乘法
6.1.1 初始內核代碼
6.1.2 優(yōu)化過(guò)程
6.1.3 優(yōu)化結果分析
6.2 求解廣義逆矩陣
6.2.1 算法的實(shí)現結構
6.2.2 優(yōu)化過(guò)程
6.2.3 優(yōu)化結果
6.3 圖像卷積
6.3.1 圖像卷積算法實(shí)現代碼
6.3.2 優(yōu)化過(guò)程
6.3.3 優(yōu)化結果
6.4 K-mcans聚類(lèi)算法
6.4.1 算法的并行實(shí)現
6.4.2 運行結果分析
6.4.3 進(jìn)一步優(yōu)化
附錄
參考文獻