-
>
决战行测5000题(言语理解与表达)
-
>
软件性能测试.分析与调优实践之路
-
>
第一行代码Android
-
>
深度学习
-
>
Unreal Engine 4蓝图完全学习教程
-
>
深入理解计算机系统-原书第3版
-
>
Word/Excel PPT 2013办公应用从入门到精通-(附赠1DVD.含语音视频教学+办公模板+PDF电子书)
OpenCL异构计算 版权信息
- ISBN:9787302593980
- 条形码:9787302593980 ; 978-7-302-59398-0
- 装帧:70g胶版纸
- 册数:暂无
- 重量:暂无
- 所属分类:>>
OpenCL异构计算 本书特色
FPGA在现代电子系统设计中扮演越来越重要的角色,特别是近几年飞速发展的人工智能、机器学习、硬件加速等领域。与GPU实现方式相比,FPGA具有较好的能效比,可以实现低功耗和低延时,具有广阔的应用前景。OpenCL作为一种业界异构计算标准,对FPGA的应用起到了重要的推动作用,是未来大型FPGA系统设计的重要方法。为了便于开展面向FPGA平台的OpenCL教学,本教材结合人工智能领域中的神经网络为实现目标,通过学习TensorFlow框架下的神经网络训练、神经网络算法的OpenCL描述、神经网络的FPGA实现等内容,掌握FPGA实现神经网络算法推理的整个流程,为今后从事人工智能、算法加速、FPGA开发等相关领域工作奠定基础。
OpenCL异构计算 内容简介
本书以通过FPGA实现简易神经网络的推理流程为主线,主要包含以下内容: 在TensorFlow学习框架下实现神经网络训练,保存训练好的权值和偏置;将TensorFlow框架下训练的神经网络使用OpenCL语言实现,并编译生成可执行文件和FPGA编程文件;将输入数据、权值、偏置等数据通过以太网口传输到FPGA开发板;在FPGA开发板上运行神经网络。 本书的重点在于神经网络算法的OpenCL描述方法及FPGA实现流程。简易神经网络算法不仅可以让读者明白神经网络的工作原理及基本框架,还可以使用较少的OpenCL代码描述,易于分析神经网络算法与代码的对应关系,实现OpenCL语言的学习。 本书以Ubuntu操作系统为运行环境,以***高的FPGA开发板DE10_nano为实现平台,该开发板尺寸较小,易于携带,方便管理,价格较低,适合批量购买以开展相关教学实验。 本书面向电子信息、计算机、自动化等相关专业的本科生及研究生或FPGA开发人员。
OpenCL异构计算 目录
目录
第1章绪论1
1.1异构计算系统1
1.2OpenCL2
1.3FPGA3
1.4FPGA+CPU异构计算系统5
1.5HDL和OpenCL6
1.5.1OpenCL的优点7
1.5.2OpenCL的缺点7
1.6人工神经网络8
1.6.1人工神经网络的基本概念8
1.6.2人工神经网络的基本特征9
1.6.3人工神经网络的应用10
习题112第2章TensorFlow基础知识及运行环境搭建14
2.1TensorFlow简介14
2.2TensorFlow两步编程模式14
2.3TensorFlow 两步编程模式实例15
2.3.1定义计算图的基本操作15
2.3.2运行计算图的基本操作18
2.4TensorFlow环境搭建23
2.4.1软件安装23
2.4.2TensorFlow软件运行25
2.4.3计算图例程运行实例25
习题230第3章TensorFlow实现神经网络模型训练与测试31
3.1神经网络训练与测试的基本概念31
3.1.1神经网络的训练31
3.1.2神经网络的测试32
3.2基于TensforFlow训练神经网络实现MNIST数据集识别32
3.2.1MNSIT数据集32
3.2.2Softmax Regression模型33
3.2.3MNIST数据识别的Softmax Regression神经网络模型35
3.2.4MNIST数据识别的卷积神经网络模型40
3.3MNIST数据集转换49
3.3.1将数据集转换为以txt文件保存的数据49
3.3.2将数据集转换为以bmp文件保存的图片50
3.3.3将bmp转换为tfrecords格式54
3.4读取tfrecords格式数据实现MNIST手写字体识别56
3.4.1Softmax Regression模型56
3.4.2卷积神经网络模型58
习题361第4章OpenCL基础63
4.1OpenCL标准框架63
4.2OpenCL基本概念基础64
4.3OpenCL程序的组成部分65
4.4OpenCL框架的4种模型66
4.5编写**个OpenCL程序71
4.5.1kernel程序71
4.5.2host程序72
4.6OpenCL基本知识点78
4.6.1kernel函数格式78
4.6.2kernel编程模式79
4.6.3kernel地址限定符79
4.6.4kernel语句描述80
4.6.5kernel数据类型80
4.6.6kernel编程限制80
习题480第5章面向Intel FPGA的OpenCL运行平台搭建82
5.1搭建OpenCL平台的软硬件要求82
5.2面向OpenCL应用的DE10_nano开发板简介83
5.3平台所需软件下载84
5.3.1Quartus Prime Standard下载84
5.3.2Intel FPGA SDK for OpenCL下载85
5.3.3Intel SoC FPGA EDS下载85
5.4平台所需软件安装86
5.4.1安装Quartus Prime Standard Edition+Intel FPGA SDK for
OpenCL86
5.4.2安装SoCEDS91
5.4.3安装DE10_nano BSP95
5.5环境变量设置96
5.5.1环境变量设置步骤96
5.5.2环境变量测试97
5.6编译OpenCL kernel98
5.7编译host 程序98
5.8烧写img文件到SD卡(在Windows系统下完成)99
5.9minicom驱动安装与测试101
5.9.1minicom驱动安装101
5.9.2minicom 使用测试102
5.10hello world kernel运行测试103
5.11DE10_nano与PC交换数据104
习题5108第6章单层神经网络算法模型的FPGA实现流程109
6.1基于OpenCL的神经网络算法设计与FPGA实现的基本流程109
6.2无隐形层的简易神经网络算法原理110
6.3神经网络的TensorFlow实现及训练111
6.4TensorFlow 框架下输入数据的转换114
6.5神经网络算法的OpenCL实现115
6.5.1kernel代码编写及编译115
6.5.2host代码编写及编译116
6.6数据移植复制到FPGA开发板120
6.7FPGA运行神经网络123
6.8kernel report.html文件查看124
6.8.1高层设计报告布局124
6.8.2系统概要125
6.8.3迭代分析127
6.8.4资源分析128
6.8.5系统视图131
6.9log文件查看FPGA资源使用估计信息133
习题6133第7章单层神经网络算法的kernel程序实现方式分析比较135
7.1批量读取输入数据的OpenCL程序135
7.1.1kernel程序135
7.1.2host程序136
7.1.3执行结果142
7.2神经网络算法的不同kernel代码实现对比142
7.2.1single work item和NDRange(private)142
7.2.2local和private(single work item)145
7.2.3local和private(NDRange)148
7.2.4single work item和NDRange(local)150
7.2.5float和char(single work itemlocal)154
7.2.6float和char(NDRangeprivate)156
7.3神经网络算法的ARM与FPGA实现方式对比159
7.3.1ARM和FPGA(float 数据类型)159
7.3.2ARM和FPGA(char数据类型)162
7.4host代码与kernel的对应165
习题7165第8章具有一个隐形层的神经网络算法模型的OpenCL实现166
8.1一个隐形层的简易神经网络算法原理166
8.2具有一个隐形层的神经网络的TensorFlow实现及训练168
8.3具有一个隐形层的神经网络算法的OpenCL实现171
8.3.1ARM实现171
8.3.2single work item格式,一个kernel171
8.3.3NDRange格式,一个kernel174
8.3.4single work item格式,两个kernel176
8.3.5NDRange格式,两个kernel178
8.3.6single work item格式,两个kernel,channel181
8.3.7single work item格式,两个kernel,pipe182
习题8186第9章简易卷积神经网络的OpenCL实现187
9.1简易卷积神经网络算法结构与原理187
9.2简易卷积神经网络的TensorFlow实现及训练189
9.3简易卷积神经网络算法的OpenCL实现194
9.3.1NDRange实现194
9.3.2single work item实现206
习题9218第10章上机实验219
实验1TensorFlow基础命令219
实验2TensorFlow实现简易神经网络模型的训练与测试219
实验3TensorFlow实现卷积神经网络模型的训练与测试220
实验4TensorFlow实现MNIST数据集转换220
实验5读取tfrecords格式数据并实现MNIST手写字体识别220
实验6DE10_nano开发板运行OpenCL程序220
实验7DE10_nano与PC数据交换221
实验8OpenCL程序编译221
实验9编写一个OpenCL程序221
实验10单层神经网络算法模型的FPGA实现流程221
实验11单层神经网络算法的kernel程序的不同实现方式221
实验12具有一个隐形层的神经网络算法模型的OpenCL实现222
实验13简易卷积神经网络算法模型的OpenCL实现223
参考文献224
OpenCL异构计算 作者简介
胡正伟,博士、讲师,主要从事FPGA教学和研发等工作。具有多年的FPGA开发经验,完成多个FPGA工程项目的开发设计,曾与华为技术有限公司合作开发基于FPGA的电力线测距系统。主编中国电力出版社“十三五”本科规划教材《电子设计自动化》。
- >
姑妈的宝刀
姑妈的宝刀
¥9.9¥30.0 - >
【精装绘本】画给孩子的中国神话
【精装绘本】画给孩子的中国神话
¥17.6¥55.0 - >
名家带你读鲁迅:故事新编
名家带你读鲁迅:故事新编
¥12.6¥26.0 - >
月亮与六便士
月亮与六便士
¥18.1¥42.0 - >
企鹅口袋书系列·伟大的思想20:论自然选择(英汉双语)
企鹅口袋书系列·伟大的思想20:论自然选择(英汉双语)
¥6.3¥14.0 - >
罗曼·罗兰读书随笔-精装
罗曼·罗兰读书随笔-精装
¥17.4¥58.0 - >
回忆爱玛侬
回忆爱玛侬
¥9.8¥32.8 - >
龙榆生:词曲概论/大家小书
龙榆生:词曲概论/大家小书
¥9.2¥24.0
-
网络工程师教程(第2版)
¥69.3¥99 -
Python 数据分析基础
¥41¥69 -
Python 3.5从零开始学
¥26.4¥59 -
虚拟化与容器技术
¥49.9¥69.8 -
UG NX 11.0工程图教程-(含1DVD)
¥30.4¥59.9 -
程序设计语言编译原理(第3版)
¥25.4¥39