注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡網(wǎng)絡與數(shù)據(jù)通信網(wǎng)絡服務基于CUDA的GPU并行程序開發(fā)指南

基于CUDA的GPU并行程序開發(fā)指南

基于CUDA的GPU并行程序開發(fā)指南

定 價:¥179.00

作 者: 托爾加·索亞塔
出版社: 機械工業(yè)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787111630616 出版時間: 2019-07-01 包裝:
開本: 頁數(shù): 字數(shù):  

內容簡介

暫缺《基于CUDA的GPU并行程序開發(fā)指南》簡介

作者簡介

  Tolga Soyata于1988年在伊斯坦布爾技術大學電子與通信工程系獲得學士學位,1992年在美國馬里蘭州巴爾的摩的約翰·霍普金斯大學電氣與計算機工程系(ECE)獲得碩士學位,2000年在羅切斯特大學電氣與計算機工程系獲得博士學位。2000年至2015年間,他成立了一家IT外包和復印機銷售/服務公司。在運營公司的同時,他重返學術界,在羅切斯特大學電氣與計算機工程系擔任研究員。之后,他成為助理教授,并一直擔任電氣與計算機工程系教職研究人員至2016年。在羅切斯特大學電氣與計算機工程系任職期間,他指導了三名博士研究生。其中兩人在他的指導下獲得博士學位,另一位在他2016年加入紐約州立大學奧爾巴尼分校擔任電氣與計算機工程系副教授時留在了羅切斯特大學。Soyata的教學課程包括大規(guī)模集成電路、模擬電路以及使用FPGA和GPU進行并行編程。他的研究興趣包括信息物理系統(tǒng)、數(shù)字健康和高性能醫(yī)療移動云計算系統(tǒng)等。Tolga Soyata從2009年開始從事GPU編程的教學,當時他聯(lián)系Nvidia將羅切斯特大學認證為CUDA教學中心(CTC)。在Nvidia將羅切斯特大學認證為教學中心后,他成為主要負責人。之后,Nvidia還將羅切斯特大學認證為CUDA研究中心(CRC),他也成為項目負責人。Tolga Soyata在羅切斯特大學擔任這些計劃的負責人直到他于2016年加入紐約州立大學奧爾巴尼分校。這些計劃后來被Nvidia命名為GPU教育中心和GPU研究中心。在羅切斯特大學期間,他講授了5年GPU編程和高級GPU項目開發(fā)課程,這些課程同時被列入電氣與計算機工程系以及計算機科學與技術系的課程體系。自2016年加入紐約州立大學奧爾巴尼分校以來,他一直在講授類似的課程。本書是他在兩所大學講授GPU課程的經(jīng)驗結晶。

圖書目錄

譯者序
前言
關于作者
部分 理解CPU的并行性
第1章 CPU并行編程概述 2
1.1 并行編程的演化 2
1.2 核心越多,并行性越高 3
1.3 核心與線程 4
1.3.1 并行化更多的是線程還是核心 5
1.3.2 核心資源共享的影響 6
1.3.3 內存資源共享的影響 6
1.4 個串行程序 7
1.4.1  理解數(shù)據(jù)傳輸速度 8
1.4.2 imflip.c中的main( )函數(shù) 9
1.4.3 垂直翻轉行:FlipImageV( ) 10
1.4.4 水平翻轉列:FlipImageH( ) 11
1.5 程序的編輯、編譯、運行 12
1.5.1 選擇編輯器和編譯器 12
1.5.2 在Windows 7、8、10平臺上開發(fā) 12
1.5.3 在Mac平臺上開發(fā) 14
1.5.4 在Unix平臺上開發(fā) 14
1.6 Unix速成 15
1.6.1 與目錄相關的Unix命令 15
1.6.2 與文件相關的Unix命令 16
1.7 調試程序 19
1.7.1 gdb 19
1.7.2 古典調試方法 20
1.7.3 valgrind 22
1.8 個串行程序的性能 22
1.8.1 可以估計執(zhí)行時間嗎 23
1.8.2 代碼執(zhí)行時OS在做什么 23
1.8.3 如何并行化 24
1.8.4 關于資源的思考 25
第2章 開發(fā)個CPU并行程序 26
2.1 個并行程序 26
2.1.1 imflipP.c中的main( )函數(shù) 27
2.1.2 運行時間 28
2.1.3 imflipP.c中main( )函數(shù)代碼的劃分 28
2.1.4 線程初始化 30
2.1.5 創(chuàng)建線程 31
2.1.6  線程啟動/執(zhí)行 32
2.1.7 線程終止(合并) 33
2.1.8 線程任務和數(shù)據(jù)劃分 34
2.2 位圖文件 35
2.2.1 BMP是一種無損/不壓縮的文件格式 35
2.2.2 BMP圖像文件格式 36
2.2.3 頭文件ImageStuff.h 37
2.2.4 ImageStuff.c中的圖像操作函數(shù) 38
2.3 執(zhí)行線程任務 40
2.3.1 啟動線程 41
2.3.2 多線程垂直翻轉函數(shù)MTFlipV( ) 43
2.3.3 FlipImageV( )和MTFlipV( )的比較 46
2.3.4 多線程水平翻轉函數(shù)MTFlipH(?) 47
2.4 多線程代碼的測試/計時 49
第3章 改進個CPU并行程序 51
3.1 程序員對性能的影響 51
3.2 CPU對性能的影響 52
3.2.1 按序核心與亂序核心 53
3.2.2 瘦線程與胖線程 55
3.3 imf?lipP的性能 55
3.4 操作系統(tǒng)對性能的影響 56
3.4.1 創(chuàng)建線程 57
3.4.2 線程啟動和執(zhí)行 57
3.4.3 線程狀態(tài) 58
3.4.4 將軟件線程映射到硬件線程 59
3.4.5  程序性能與啟動的線程 60
3.5 改進imf?lipP 61
3.5.1  分析MTFlipH( )中的內存訪問模式 62
3.5.2  MTFlipH( )的多線程內存訪問 63
3.5.3  DRAM訪問的規(guī)則 64
3.6 imf?lipPM:遵循DRAM的規(guī)則 65
3.6.1 imflipP的混亂內存訪問模式 65
3.6.2 改進imflipP的內存訪問模式 65
3.6.3 MTFlipHM( ):內存友好的MTFlipH( ) 66
3.6.4 MTFlipVM( ):內存友好的MTFlipV( ) 69
3.7 imflipPM.C的性能 69
3.7.1 imflipP.c和imflipPM.c的性能比較 70
3.7.2 速度提升:MTFlipV( )與MTFlipVM( ) 71
3.7.3 速度提升:MTFlipH( )與MTFlipHM( ) 71
3.7.4 理解加速:MTFlipH( )與MTFlipHM( ) 71
3.8 進程內存映像 72
3.9 英特爾MIC架構:Xeon Phi 74
3.10 GPU是怎樣的 75
3.11 本章小結 76
第4章 理解核心和內存 77
4.1 曾經(jīng)的英特爾 77
4.2 CPU和內存制造商 78
4.3 動態(tài)存儲器與靜態(tài)存儲器 79
4.3.1 靜態(tài)隨機存取存儲器(SRAM) 79
4.3.2  動態(tài)隨機存取存儲器(DRAM) 79
4.3.3 DRAM接口標準 79
4.3.4 DRAM對程序性能的影響 80
4.3.5 SRAM對程序性能的影響 81
4.4 圖像旋轉程序:imrotate.c 81
4.4.1 imrotate.c的說明 82
4.4.2 imrotate.c:參數(shù)限制和簡化 82
4.4.3 imrotate.c:實現(xiàn)原理 83
4.5 imrotate的性能 87
4.5.1 線程效率的定性分析 87
4.5.2 定量分析:定義線程效率 87
4.6 計算機的體系結構 89
4.6.1 核心、L1$和L2$ 89
4.6.2 核心內部資源 90
4.6.3  共享L3高速緩存(L3 $) 91
4.6.4 內存控制器 92
4.6.5 主存 92
4.6.6 隊列、非核心和I/O 93
4.7 imrotateMC:讓imrotate更高效 94
4.7.1 Rotate2( ):平方根和浮點除法有多差 96
4.7.2 Rotate3( )和Rotate4( ):sin( )和cos( )有多差 97
4.7.3 Rotate5( ):整數(shù)除法/乘法有多差 98
4.7.4 Rotate6( ):合并計算 100
4.7.5 Rotate7( ):合并更多計算 100
4.7.6 imrotateMC的總體性能 101
4.8 本章小結 103
第5章 線程管理和同步 104
5.1 邊緣檢測程序:imedge.c 104
5.1.1 imedge.c的說明 105
5.1.2 imedge.c:參數(shù)限制和簡化 106
5.1.3 imedge.c:實現(xiàn)原理 106
5.2 imedge.c:實現(xiàn) 108
5.2.1 初始化和時間戳 109
5.2.2 不同圖像表示的初始化函數(shù) 110
5.2.3 啟動和終止線程 111
5.2.4 高斯濾波 112
5.2.5 Sobel 113
5.2.6 閾值過濾 114
5.3 imedge的性能 115
5.4 imedgeMC:讓imedge更高效 116
5.4.1 利用預計算降低帶寬 116
5.4.2 存儲預計算的像素值 117
5.4.3 預計算像素值 118
5.4.4 讀取圖像并預計算像素值 119
5.4.5 PrGaussianFilter 1

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號