基于FPGA平台的深度学习应用研究
摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
符号对照表 | 第12-13页 |
缩略语对照表 | 第13-16页 |
第一章 绪论 | 第16-20页 |
1.1 论文研究背景及意义 | 第16-17页 |
1.2 国内外研究现状 | 第17-18页 |
1.3 论文研究内容和结构安排 | 第18-20页 |
第二章 CNN基础和OpenCL标准 | 第20-40页 |
2.1 深度学习基础知识 | 第20-23页 |
2.1.1 人工神经网络 | 第20-22页 |
2.1.2 深度学习简介 | 第22-23页 |
2.2 CNN基础知识 | 第23-28页 |
2.2.1 CNN简介 | 第23-24页 |
2.2.2 CNN层级结构 | 第24-28页 |
2.2.3 CNN经典网络模型 | 第28页 |
2.3 OpenCL异构计算标准 | 第28-33页 |
2.3.1 OpenCL概述 | 第29页 |
2.3.2 OpenCL平台模型 | 第29-30页 |
2.3.3 OpenCL执行模型 | 第30-31页 |
2.3.4 OpenCL内存模型 | 第31-32页 |
2.3.5 OpenCL编程模型 | 第32-33页 |
2.4 基于FPGA的异构计算平台 | 第33-38页 |
2.4.1 FPGA概述 | 第33页 |
2.4.2 基于FPGA的OpenCL平台架构 | 第33-34页 |
2.4.3 基于FGPA的OpenCL设计优化 | 第34-38页 |
2.5 本章小节 | 第38-40页 |
第三章 CNN异构计算加速方案设计 | 第40-60页 |
3.1 CNN异构计算框架 | 第40-41页 |
3.2 CNN计算特征分析 | 第41-47页 |
3.2.1 CNN多层计算模型 | 第41-42页 |
3.2.2 CNN计算复杂度分析 | 第42-44页 |
3.2.3 CNN计算并行性分析 | 第44-47页 |
3.3 CNN异构加速方案总体设计 | 第47-52页 |
3.3.1 顶层系统设计 | 第47-48页 |
3.3.2 设备内核的划分 | 第48-52页 |
3.4 CNN异构加速的内核设计 | 第52-58页 |
3.4.1 数据读写内核的设计 | 第52-53页 |
3.4.2 卷积内核的设计 | 第53-56页 |
3.4.3 池化内核的设计 | 第56-57页 |
3.4.4 局部归一化内核的设计 | 第57-58页 |
3.5 本章小节 | 第58-60页 |
第四章 CNN异构计算加速实现及结果分析 | 第60-86页 |
4.1 开发平台的搭建 | 第60-67页 |
4.1.1 硬件平台介绍 | 第60-61页 |
4.1.2 软件平台介绍 | 第61-62页 |
4.1.3 开发环境的搭建 | 第62-67页 |
4.2 CNN异构加速方案的实现 | 第67-79页 |
4.2.1 主机端程序的实现 | 第67-72页 |
4.2.2 FPGA内核程序的实现 | 第72-79页 |
4.3 系统测试与结果分析 | 第79-84页 |
4.3.1 测试方案 | 第79-80页 |
4.3.2 结果与分析 | 第80-84页 |
4.4 本章小节 | 第84-86页 |
第五章 总结与展望 | 第86-88页 |
5.1 工作总结 | 第86页 |
5.2 研究展望 | 第86-88页 |
参考文献 | 第88-90页 |
致谢 | 第90-92页 |
作者简介 | 第92-93页 |