定 價:¥59.00
作 者: | 趙地 |
出版社: | 清華大學(xué)出版社 |
叢編項(xiàng): | |
標(biāo) 簽: | 暫缺 |
ISBN: | 9787302493174 | 出版時間: | 2018-07-01 | 包裝: | 平裝 |
開本: | 16 | 頁數(shù): | 202 | 字?jǐn)?shù): |
第1章緒論
1.1MATLAB程序的加速
1.2MATLAB程序加速的可能途徑
1.2.1基于多核CPU的MATLAB程序加速
1.2.2基于大內(nèi)存的MATLAB程序加速
1.2.3基于英偉達(dá)公司GPU的MATLAB程序加速
1.2.4基于AMD公司GPU的MATLAB程序加速
1.2.5基于Intel公司Xeon Phi的MATLAB程序加速
1.3MATLAB程序加速的度量
1.4基于GPU計(jì)算的MATLAB程序的編制
1.4.1并行計(jì)算工具箱簡介
1.4.2CUDA庫
1.4.3CUDA編程
第2章MATLAB程序的性能評估
2.1bench()函數(shù)
2.2tic()函數(shù)/toc()函數(shù)
2.3timeit()函數(shù)
2.4cputime()函數(shù)
2.5clock()函數(shù)和etime()函數(shù)
2.6gputimeit()函數(shù)
2.7MATLAB探查器
第3章基于多核處理器的MATLAB程序加速
3.1MATLAB矩陣及運(yùn)算符
3.1.1MATLAB矩陣的創(chuàng)建
3.1.2矩陣的性質(zhì)的檢驗(yàn)
3.1.3MATLAB矩陣的操作
3.2MATLAB函數(shù)
3.2.1MATLAB函數(shù)的定義
3.2.2MATLAB函數(shù)的執(zhí)行
3.3語句與代碼
3.3.1分支結(jié)構(gòu)
3.3.2循環(huán)結(jié)構(gòu)
3.4MATLAB代碼
3.5MATLAB并行設(shè)置
3.6基于并行for循環(huán)(parfor循環(huán))的MATLAB程序加速
第4章基于大內(nèi)存的MATLAB程序的加速
4.1內(nèi)存條的選擇與安裝
4.2內(nèi)存預(yù)分配
4.2.1已知數(shù)組大小
4.2.2未知數(shù)組大小
4.3MATLAB向量化簡介
4.4MATLAB矩陣運(yùn)算的向量化
4.4.1創(chuàng)建MATLAB矩陣的函數(shù)
4.4.2數(shù)據(jù)復(fù)制
4.4.3MATLAB的矩陣變換函數(shù)
4.4.4索引
4.4.5矩陣操作的向量化
4.4.6符合條件的元素總數(shù)
4.5MATLAB函數(shù)的向量化
4.5.1基于arrayfun()函數(shù)、bsxfun()函數(shù)、cellfun()函數(shù)、
spfun()函數(shù)和structfun()函數(shù)的向量化
4.5.2基于pagefun()函數(shù)的向量化
4.6MATLAB語句的向量化
第5章基于并行計(jì)算工具箱的MATLAB加速
5.1GPU卡的選擇與安裝
5.1.1GPU卡的選擇
5.1.2電源功率
5.1.3散熱問題
5.2基于并行計(jì)算工具箱的GPU計(jì)算簡介
5.3基于并行計(jì)算工具箱的矩陣運(yùn)算
5.3.1在設(shè)備端(GPU端)直接創(chuàng)建MATLAB矩陣
5.3.2在設(shè)備端(GPU端)生成隨機(jī)數(shù)矩陣
5.3.3設(shè)備端(GPU端)的稀疏矩陣
5.3.4設(shè)備端(GPU端)矩陣的數(shù)據(jù)類型
5.3.5設(shè)備端(GPU端)矩陣的檢驗(yàn)
5.3.6設(shè)備端(GPU端)矩陣的操作
5.4基于并行計(jì)算工具箱的設(shè)備端(GPU端)函數(shù)
5.4.1設(shè)備端(GPU端)函數(shù)的定義
5.4.2設(shè)備端(GPU端)函數(shù)的執(zhí)行
5.5基于設(shè)備端(GPU端)大內(nèi)存的MATLAB程序的加速
5.6例子
5.6.1卷積神經(jīng)網(wǎng)絡(luò)前向傳播的卷積層
5.6.2卷積神經(jīng)網(wǎng)絡(luò)前向傳播的激活函數(shù)
5.6.3卷積神經(jīng)網(wǎng)絡(luò)前向傳播的降采樣層
5.6.4卷積神經(jīng)網(wǎng)絡(luò)后向傳播的升采樣層
5.6.5卷積神經(jīng)網(wǎng)絡(luò)后向傳播的卷積層
5.6.6卷積神經(jīng)網(wǎng)絡(luò)后向傳播中的梯度計(jì)算
第6章MATLAB與C/C++的接口
6.1MEX庫API
6.1.1MEX相關(guān)的函數(shù)
6.1.2從MEX中調(diào)用MATLAB函數(shù)
6.1.3mexGet()函數(shù)
6.1.4MEX庫API與輸入輸出相關(guān)的函數(shù)
6.1.5MEX庫API與鎖定相關(guān)的函數(shù)
6.2MATLAB的C/C++矩陣庫API
6.2.1定義MEX函數(shù)的數(shù)據(jù)類型
6.2.2創(chuàng)建數(shù)組、分配內(nèi)存和釋放內(nèi)存
6.2.3數(shù)據(jù)類型校驗(yàn): 數(shù)組的數(shù)據(jù)類型和性質(zhì)
6.2.4數(shù)據(jù)存?。?nbsp;從數(shù)組讀取和寫入數(shù)據(jù)
6.2.5數(shù)據(jù)類型轉(zhuǎn)換: 將字符串?dāng)?shù)組和結(jié)構(gòu)數(shù)組轉(zhuǎn)換成對象數(shù)組
6.3MEX函數(shù)編譯器
6.3.1MEX介紹
6.3.2編譯MEX
6.3.3MEX文件的查錯
第7章基于CUDA庫的MATLAB加速
7.1基于CUDA庫的MATLAB加速簡介
7.2基于ArrayFire庫的MATLAB加速簡介
7.2.1ArrayFire簡介
7.2.2ArrayFire數(shù)組
7.2.3ArrayFire函數(shù)
7.2.4CUDA的混合編程
7.2.5實(shí)例
7.3基于其他CUDA庫的MATLAB加速簡介
第8章GPU計(jì)算簡介
8.1芯片技術(shù)的發(fā)展與摩爾定律
8.2每秒浮點(diǎn)運(yùn)算次數(shù)
8.3GPU計(jì)算加速的度量
8.3.1GPU程序的加速比
8.3.2阿姆達(dá)爾定律和古斯塔夫森定律
8.3.3并行程序的并行狀況
8.4并行計(jì)算部件
8.4.1張量處理器
8.4.2現(xiàn)場可編程門陣列
8.4.3類腦處理器
8.4.4視覺處理器
8.4.5物理處理器
8.4.6圖形處理器
8.5英偉達(dá)公司GPU簡介
8.5.1計(jì)算單元
8.5.2GPU內(nèi)存
8.5.3計(jì)算能力
8.5.4GPU當(dāng)前狀態(tài)的檢測
8.5.5GPU集群設(shè)置
8.5.6集群管理軟件
第9章CUDA編程簡介
9.1CUDA核
9.2CUDA線程與線程塊
9.2.1CUDA線程
9.2.2CUDA線程塊
9.3內(nèi)存結(jié)構(gòu)與管理
9.3.1全局內(nèi)存
9.3.2共享內(nèi)存
9.3.3鎖頁內(nèi)存
9.3.4紋理內(nèi)存和表面內(nèi)存
9.4并行管理
9.4.1非同步并行執(zhí)行
9.4.2流和事件
9.4.3同步調(diào)用
9.5CUDA流
9.5.1CUDA流的創(chuàng)建和結(jié)束
9.5.2默認(rèn)CUDA流
9.5.3顯式同步
9.5.4隱式同步
9.5.5重疊行為
9.5.6回調(diào)函數(shù)
9.5.7CUDA流的優(yōu)先級
9.6CUDA事件
9.6.1CUDA事件的創(chuàng)建與清除
9.6.2CUDA事件的運(yùn)行
9.7多設(shè)備系統(tǒng)
9.7.1多設(shè)備系統(tǒng)的初始化
9.7.2多設(shè)備系統(tǒng)的設(shè)備計(jì)數(shù)
9.7.3多設(shè)備系統(tǒng)的設(shè)備選擇
9.7.4多設(shè)備系統(tǒng)的CUDA流和CUDA事件
9.7.5不通過統(tǒng)一虛擬地址的多設(shè)備系統(tǒng)的設(shè)備間的內(nèi)存復(fù)制
9.7.6通過統(tǒng)一虛擬地址的多設(shè)備系統(tǒng)的設(shè)備間的內(nèi)存復(fù)制
9.8動態(tài)并行
9.8.1動態(tài)并行簡介
9.8.2動態(tài)并行的編程模型
9.8.3動態(tài)并行的環(huán)境配置
9.8.4動態(tài)并行的內(nèi)存管理
9.8.5動態(tài)并行的嵌套深度
9.9統(tǒng)一虛擬地址空間
9.9.1統(tǒng)一虛擬地址空間簡介
9.9.2統(tǒng)一內(nèi)存編程的優(yōu)點(diǎn)
9.9.3統(tǒng)一內(nèi)存分配
9.9.4統(tǒng)一內(nèi)存的連續(xù)性與并行性
9.9.5統(tǒng)一內(nèi)存的檢驗(yàn)
9.9.6統(tǒng)一內(nèi)存的性能優(yōu)化
9.10CUDA的編譯
9.10.1CUDA編譯工作流
9.11CUDA程序?qū)嵗?/p>
9.11.1序列蒙特卡羅的類別分布隨機(jī)數(shù)
9.11.2哈爾變換
第10章CUDA程序優(yōu)化
10.1CUDA程序優(yōu)化的策略
10.2指令級別的優(yōu)化
10.2.1算術(shù)指令吞吐量最大化
10.2.2控制流指令
10.2.3同步指令
10.3線程和線程塊級別的優(yōu)化
10.3.1warp簡介
10.3.2CUDA線程塊的warp數(shù)量
10.3.3CUDA占用率
10.3.4線程warp對設(shè)備端(GPU端)內(nèi)存讀寫
10.4CUDA核級別的優(yōu)化
10.4.1優(yōu)化CUDA核參數(shù)
10.4.2減少內(nèi)存同步
10.4.3減少寄存器總量
10.4.4提高指令層次的并行度
10.5CUDA程序級別的優(yōu)化
第11章基于CUDA的MATLAB加速
11.1基于CUDAKernel的MATLAB加速
11.2基于MEX函數(shù)的MATLAB加速
11.3多GPU編程
11.4例子
11.4.1基于MEX函數(shù)的多GPU矩陣相加
11.4.2基于MEX函數(shù)的多GPU的LSE函數(shù)
第12章總結(jié)
12.1加速M(fèi)ATLAB編程方法的比較
12.2進(jìn)一步加速M(fèi)ATLAB
12.2.1多路多核處理器的MATLAB程序加速
12.2.2基于AMD公司GPU的MATLAB程序加速
12.2.3基于Intel公司Xeon Phi的MATLAB程序加速
參考文獻(xiàn)