-
>
決戰(zhàn)行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調(diào)優(yōu)實踐之路
-
>
第一行代碼Android
-
>
深度學(xué)習(xí)
-
>
Unreal Engine 4藍圖完全學(xué)習(xí)教程
-
>
深入理解計算機系統(tǒng)-原書第3版
-
>
Word/Excel PPT 2013辦公應(yīng)用從入門到精通-(附贈1DVD.含語音視頻教學(xué)+辦公模板+PDF電子書)
OpenCL異構(gòu)計算 版權(quán)信息
- ISBN:9787302593980
- 條形碼:9787302593980 ; 978-7-302-59398-0
- 裝幀:70g膠版紙
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>>
OpenCL異構(gòu)計算 本書特色
FPGA在現(xiàn)代電子系統(tǒng)設(shè)計中扮演越來越重要的角色,特別是近幾年飛速發(fā)展的人工智能、機器學(xué)習(xí)、硬件加速等領(lǐng)域。與GPU實現(xiàn)方式相比,F(xiàn)PGA具有較好的能效比,可以實現(xiàn)低功耗和低延時,具有廣闊的應(yīng)用前景。OpenCL作為一種業(yè)界異構(gòu)計算標準,對FPGA的應(yīng)用起到了重要的推動作用,是未來大型FPGA系統(tǒng)設(shè)計的重要方法。為了便于開展面向FPGA平臺的OpenCL教學(xué),本教材結(jié)合人工智能領(lǐng)域中的神經(jīng)網(wǎng)絡(luò)為實現(xiàn)目標,通過學(xué)習(xí)TensorFlow框架下的神經(jīng)網(wǎng)絡(luò)訓(xùn)練、神經(jīng)網(wǎng)絡(luò)算法的OpenCL描述、神經(jīng)網(wǎng)絡(luò)的FPGA實現(xiàn)等內(nèi)容,掌握FPGA實現(xiàn)神經(jīng)網(wǎng)絡(luò)算法推理的整個流程,為今后從事人工智能、算法加速、FPGA開發(fā)等相關(guān)領(lǐng)域工作奠定基礎(chǔ)。
OpenCL異構(gòu)計算 內(nèi)容簡介
本書以通過FPGA實現(xiàn)簡易神經(jīng)網(wǎng)絡(luò)的推理流程為主線,主要包含以下內(nèi)容: 在TensorFlow學(xué)習(xí)框架下實現(xiàn)神經(jīng)網(wǎng)絡(luò)訓(xùn)練,保存訓(xùn)練好的權(quán)值和偏置;將TensorFlow框架下訓(xùn)練的神經(jīng)網(wǎng)絡(luò)使用OpenCL語言實現(xiàn),并編譯生成可執(zhí)行文件和FPGA編程文件;將輸入數(shù)據(jù)、權(quán)值、偏置等數(shù)據(jù)通過以太網(wǎng)口傳輸?shù)紽PGA開發(fā)板;在FPGA開發(fā)板上運行神經(jīng)網(wǎng)絡(luò)。 本書的重點在于神經(jīng)網(wǎng)絡(luò)算法的OpenCL描述方法及FPGA實現(xiàn)流程。簡易神經(jīng)網(wǎng)絡(luò)算法不僅可以讓讀者明白神經(jīng)網(wǎng)絡(luò)的工作原理及基本框架,還可以使用較少的OpenCL代碼描述,易于分析神經(jīng)網(wǎng)絡(luò)算法與代碼的對應(yīng)關(guān)系,實現(xiàn)OpenCL語言的學(xué)習(xí)。 本書以Ubuntu操作系統(tǒng)為運行環(huán)境,以***高的FPGA開發(fā)板DE10_nano為實現(xiàn)平臺,該開發(fā)板尺寸較小,易于攜帶,方便管理,價格較低,適合批量購買以開展相關(guān)教學(xué)實驗。 本書面向電子信息、計算機、自動化等相關(guān)專業(yè)的本科生及研究生或FPGA開發(fā)人員。
OpenCL異構(gòu)計算 目錄
目錄
第1章緒論1
1.1異構(gòu)計算系統(tǒng)1
1.2OpenCL2
1.3FPGA3
1.4FPGA+CPU異構(gòu)計算系統(tǒng)5
1.5HDL和OpenCL6
1.5.1OpenCL的優(yōu)點7
1.5.2OpenCL的缺點7
1.6人工神經(jīng)網(wǎng)絡(luò)8
1.6.1人工神經(jīng)網(wǎng)絡(luò)的基本概念8
1.6.2人工神經(jīng)網(wǎng)絡(luò)的基本特征9
1.6.3人工神經(jīng)網(wǎng)絡(luò)的應(yīng)用10
習(xí)題112第2章TensorFlow基礎(chǔ)知識及運行環(huán)境搭建14
2.1TensorFlow簡介14
2.2TensorFlow兩步編程模式14
2.3TensorFlow 兩步編程模式實例15
2.3.1定義計算圖的基本操作15
2.3.2運行計算圖的基本操作18
2.4TensorFlow環(huán)境搭建23
2.4.1軟件安裝23
2.4.2TensorFlow軟件運行25
2.4.3計算圖例程運行實例25
習(xí)題230第3章TensorFlow實現(xiàn)神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練與測試31
3.1神經(jīng)網(wǎng)絡(luò)訓(xùn)練與測試的基本概念31
3.1.1神經(jīng)網(wǎng)絡(luò)的訓(xùn)練31
3.1.2神經(jīng)網(wǎng)絡(luò)的測試32
3.2基于TensforFlow訓(xùn)練神經(jīng)網(wǎng)絡(luò)實現(xiàn)MNIST數(shù)據(jù)集識別32
3.2.1MNSIT數(shù)據(jù)集32
3.2.2Softmax Regression模型33
3.2.3MNIST數(shù)據(jù)識別的Softmax Regression神經(jīng)網(wǎng)絡(luò)模型35
3.2.4MNIST數(shù)據(jù)識別的卷積神經(jīng)網(wǎng)絡(luò)模型40
3.3MNIST數(shù)據(jù)集轉(zhuǎn)換49
3.3.1將數(shù)據(jù)集轉(zhuǎn)換為以txt文件保存的數(shù)據(jù)49
3.3.2將數(shù)據(jù)集轉(zhuǎn)換為以bmp文件保存的圖片50
3.3.3將bmp轉(zhuǎn)換為tfrecords格式54
3.4讀取tfrecords格式數(shù)據(jù)實現(xiàn)MNIST手寫字體識別56
3.4.1Softmax Regression模型56
3.4.2卷積神經(jīng)網(wǎng)絡(luò)模型58
習(xí)題361第4章OpenCL基礎(chǔ)63
4.1OpenCL標準框架63
4.2OpenCL基本概念基礎(chǔ)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函數(shù)格式78
4.6.2kernel編程模式79
4.6.3kernel地址限定符79
4.6.4kernel語句描述80
4.6.5kernel數(shù)據(jù)類型80
4.6.6kernel編程限制80
習(xí)題480第5章面向Intel FPGA的OpenCL運行平臺搭建82
5.1搭建OpenCL平臺的軟硬件要求82
5.2面向OpenCL應(yīng)用的DE10_nano開發(fā)板簡介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環(huán)境變量設(shè)置96
5.5.1環(huán)境變量設(shè)置步驟96
5.5.2環(huán)境變量測試97
5.6編譯OpenCL kernel98
5.7編譯host 程序98
5.8燒寫img文件到SD卡(在Windows系統(tǒng)下完成)99
5.9minicom驅(qū)動安裝與測試101
5.9.1minicom驅(qū)動安裝101
5.9.2minicom 使用測試102
5.10hello world kernel運行測試103
5.11DE10_nano與PC交換數(shù)據(jù)104
習(xí)題5108第6章單層神經(jīng)網(wǎng)絡(luò)算法模型的FPGA實現(xiàn)流程109
6.1基于OpenCL的神經(jīng)網(wǎng)絡(luò)算法設(shè)計與FPGA實現(xiàn)的基本流程109
6.2無隱形層的簡易神經(jīng)網(wǎng)絡(luò)算法原理110
6.3神經(jīng)網(wǎng)絡(luò)的TensorFlow實現(xiàn)及訓(xùn)練111
6.4TensorFlow 框架下輸入數(shù)據(jù)的轉(zhuǎn)換114
6.5神經(jīng)網(wǎng)絡(luò)算法的OpenCL實現(xiàn)115
6.5.1kernel代碼編寫及編譯115
6.5.2host代碼編寫及編譯116
6.6數(shù)據(jù)移植復(fù)制到FPGA開發(fā)板120
6.7FPGA運行神經(jīng)網(wǎng)絡(luò)123
6.8kernel report.html文件查看124
6.8.1高層設(shè)計報告布局124
6.8.2系統(tǒng)概要125
6.8.3迭代分析127
6.8.4資源分析128
6.8.5系統(tǒng)視圖131
6.9log文件查看FPGA資源使用估計信息133
習(xí)題6133第7章單層神經(jīng)網(wǎng)絡(luò)算法的kernel程序?qū)崿F(xiàn)方式分析比較135
7.1批量讀取輸入數(shù)據(jù)的OpenCL程序135
7.1.1kernel程序135
7.1.2host程序136
7.1.3執(zhí)行結(jié)果142
7.2神經(jīng)網(wǎng)絡(luò)算法的不同kernel代碼實現(xiàn)對比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神經(jīng)網(wǎng)絡(luò)算法的ARM與FPGA實現(xiàn)方式對比159
7.3.1ARM和FPGA(float 數(shù)據(jù)類型)159
7.3.2ARM和FPGA(char數(shù)據(jù)類型)162
7.4host代碼與kernel的對應(yīng)165
習(xí)題7165第8章具有一個隱形層的神經(jīng)網(wǎng)絡(luò)算法模型的OpenCL實現(xiàn)166
8.1一個隱形層的簡易神經(jīng)網(wǎng)絡(luò)算法原理166
8.2具有一個隱形層的神經(jīng)網(wǎng)絡(luò)的TensorFlow實現(xiàn)及訓(xùn)練168
8.3具有一個隱形層的神經(jīng)網(wǎng)絡(luò)算法的OpenCL實現(xiàn)171
8.3.1ARM實現(xiàn)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
習(xí)題8186第9章簡易卷積神經(jīng)網(wǎng)絡(luò)的OpenCL實現(xiàn)187
9.1簡易卷積神經(jīng)網(wǎng)絡(luò)算法結(jié)構(gòu)與原理187
9.2簡易卷積神經(jīng)網(wǎng)絡(luò)的TensorFlow實現(xiàn)及訓(xùn)練189
9.3簡易卷積神經(jīng)網(wǎng)絡(luò)算法的OpenCL實現(xiàn)194
9.3.1NDRange實現(xiàn)194
9.3.2single work item實現(xiàn)206
習(xí)題9218第10章上機實驗219
實驗1TensorFlow基礎(chǔ)命令219
實驗2TensorFlow實現(xiàn)簡易神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練與測試219
實驗3TensorFlow實現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練與測試220
實驗4TensorFlow實現(xiàn)MNIST數(shù)據(jù)集轉(zhuǎn)換220
實驗5讀取tfrecords格式數(shù)據(jù)并實現(xiàn)MNIST手寫字體識別220
實驗6DE10_nano開發(fā)板運行OpenCL程序220
實驗7DE10_nano與PC數(shù)據(jù)交換221
實驗8OpenCL程序編譯221
實驗9編寫一個OpenCL程序221
實驗10單層神經(jīng)網(wǎng)絡(luò)算法模型的FPGA實現(xiàn)流程221
實驗11單層神經(jīng)網(wǎng)絡(luò)算法的kernel程序的不同實現(xiàn)方式221
實驗12具有一個隱形層的神經(jīng)網(wǎng)絡(luò)算法模型的OpenCL實現(xiàn)222
實驗13簡易卷積神經(jīng)網(wǎng)絡(luò)算法模型的OpenCL實現(xiàn)223
參考文獻224
OpenCL異構(gòu)計算 作者簡介
胡正偉,博士、講師,主要從事FPGA教學(xué)和研發(fā)等工作。具有多年的FPGA開發(fā)經(jīng)驗,完成多個FPGA工程項目的開發(fā)設(shè)計,曾與華為技術(shù)有限公司合作開發(fā)基于FPGA的電力線測距系統(tǒng)。主編中國電力出版社“十三五”本科規(guī)劃教材《電子設(shè)計自動化》。
- >
中國人在烏蘇里邊疆區(qū):歷史與人類學(xué)概述
- >
龍榆生:詞曲概論/大家小書
- >
推拿
- >
朝聞道
- >
苦雨齋序跋文-周作人自編集
- >
羅曼·羅蘭讀書隨筆-精裝
- >
經(jīng)典常談
- >
李白與唐代文化