新到貨599現折59
基於CUDA的GPU並行程序開發指南

基於CUDA的GPU並行程序開發指南

  • 定價:1074
  • 優惠價:87934
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可取貨點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
載入中...
  • 分享
 

內容簡介

本書旨在幫助讀者瞭解與基於CUDA的GPU並行程式設計技術有關的基本概念,並掌握使用C語言進行GPU高性能程式設計的相關技巧。
   
本書共分為三部分,第一部分通過CPU多執行緒程式設計解釋了平行計算,使得沒有太多平行計算基礎的讀者也能毫無阻礙地 入門CUDA;第二部分重點介紹了基於CUDA的GPU大規模並行程式的開發與實現,並通過大量的性能分析説明讀者理解如何開發一個好的GPU並行程式以 及GPU架構對程式性能的影響:第三部分介紹了一些常用的CUDA庫、OpenCL程式設計語言、其他GPU程式設計語言和API以及深度學習庫cuDNN。
  
本書內容翔實、實例豐富,可作為高等院校相關專業高年級本科生和研究生課程的教材,也可作為電腦相關技術人員的參考書。
 

作者介紹

唐傑,博士,南京大學電腦科學與技術系副教授,主要研究高性能計算與並行處理技術,主持和參與國家科技重大專項、國家自然科學基金等十餘項課題,在國內外學術會議和期刊上發表了50多篇論文,還參與編寫了多部教材。
  
托爾加·索亞塔(Tolga Soyata),紐約州立大學奧爾巴尼分校電氣與電腦工程系副教授。主要教授大型積體電路、GPU程式設計課程,曾擔任羅賈斯特大學CUDA教學中心和CUDA研究中心負責人。
  
Tolga Soyata,於1988年在伊斯坦布爾技術大學電子與通信工程系獲得學士學位,1992年在美國馬裡蘭州巴爾的摩的約翰·霍普金斯大學電氣與電腦工程系(ECE)獲得碩士學位,2000年在羅賈斯特大學電氣與電腦工程系獲得博士學位。2000年至2015年間,他成立了一家IT外包和影印機銷售/服務公司。在運營公司的同時,他重返學術界,在羅賈斯特大學電氣與電腦工程系擔任研究員。
 
之後,他成為助理教授,並一直擔任電氣與電腦工程系教職研究人員至2016年。在羅賈斯特大學電氣與電腦工程系任職期間,他指導了三名博士研究生。其中兩人在他的指導下獲得博士學位,另一位在他2016年加入紐約州立大學奧爾巴尼分校擔任電氣與電腦工程系副教授時留在了羅賈斯特大學。Soyata的教學課程包括大型積體電路、類比電路以及使用FPGA和GPU進行並行程式設計。他的研究興趣包括資訊物理系統、數位元元健康和高性能醫療移動雲計算系統等。

Tolga Soyata從2009年開始從事GPU程式設計的教學,當時他聯繫Nvidia將羅賈斯特大學認證為CUDA教學中心(CTC)。在Nvidia將羅賈斯特大學認證為教學中心後,他成為主要負責人。之後,Nvidia還將羅賈斯特大學認證為CUDA研究中心(CRC),他也成為專案負責人。
 
Tolga Soyata在羅賈斯特大學擔任這些計畫的負責人直到他於2016年加入紐約州立大學奧爾巴尼分校。這些計畫後來被Nvidia命名為GPU教育中心和GPU研究中心。在羅賈斯特大學期間,他講授了5年GPU程式設計和高級GPU專案開發課程,這些課程同時被列入電氣與電腦工程系以及電腦科學與技術系的課程體系。自2016年加入紐約州立大學奧爾巴尼分校以來,他一直在講授類似的課程。本書是他在兩所大學講授GPU課程的經驗結晶。
 

目錄

譯者序
前言
關於作者

第一部分 理解CPU的並行性
第1章 CPU並行程式設計概述
1.1 並行程式設計的演化
1.2 核心越多,並行性越高
1.3 核心與執行緒
1.3.1 並行化更多的是執行緒還是核心
1.3.2 核心資源分享的影響
1.3.3 記憶體資源分享的影響
1.4 第一個串列程式
1.4.1 理解資料傳輸速度
1.4.2 imflip.c中的main()函數
1.4.3 垂直翻轉行:FlipImageV()
1.4.4 水準翻轉列:FlipImageH()
1.5 程式的編輯、編譯、運行
1.5.1 選擇編輯器和編譯器
1.5.2 在Windows7、8、10平臺上開發
1.5.3 在Mac平臺上開發
1.5.4 在Unix平臺上開發
1.6 Unix速成
1.6.1 與目錄相關的Unix命令
1.6.2 與文件相關的Unix命令
1.7 偵錯工具
1.7.1 gdb
1.7.2 古典調試方法
1.7.3 valgrind
1.8 第一個串列程式的性能
1.8.1 可以估計執行時間嗎
1.8.2 代碼執行時OS在做什麼
1.8.3 如何並行化
1.8.4 關於資源的思考
第2章 開發第一個CPU並行程式
2.1 第一個並行程式
2.1.1 imflipP.c中的main()函數
2.1.2 執行時間
2.1.3 imflipP.c中main()函數代碼的劃分
2.1.4 執行緒初始化
2.1.5 創建執行緒
2.1.6 執行緒啟動/執行
2.1.7 執行緒終止(合併)
2.1.8 執行緒任務和資料劃分
2.2 點陣圖檔
2.2.1 BMP是一種無損/不壓縮的檔案格式
2.2.2 BMP影像檔格式
2.2.3 標頭檔ImageStuff.h
2.2.4 ImageStuffc中的圖像操作函數
2.3 執行執行緒任務
2.3.1 啟動執行緒
2.3.2 多執行緒垂直翻轉函數MTFlipV()
2.3.3 FlipImageV()和MTFlipV()的比較
2.3.4 多執行緒水準翻轉函數MTFlipH()
2.4 多執行緒代碼的測試/計時
第3章 改進第-個CPU並行程式
……

第二部分 基於CUDA的GPU程式設計

第三部分 拓展知識
 

近10年來,隨著大資料、深度學習等相關領域的發展,對計算能力的需求呈幾何級數增長。與此同時,大型積體電路的發展卻受到功耗、散熱、電晶體尺寸等客觀因素的限制,難以繼續維持摩爾定律。因此,人們逐漸把目光轉向了並行系統。GPU自誕生之日起就是為電腦的圖形圖像渲染等大規模並行處理任務而服務的,因而越來越受到研究界和企業界的關注。隨著CUDA等計算架構模型的出現,這一趨勢更加明顯。
  
CUDA(Compute Unified Device Architecture,統一計算設備架構)是Nvidia(英偉達)提出的平行計算架構,它可以結合CPU和GPU的優點,處理大規模的計算密集型任務。同時,它採用了基於C語言風格的語法,又將CPU端和GPU端的開發有效地集成到了同一環境中,對於大多數C程式師來說,使用十分方便,因而一經推出就迅速佔領了GPU開發環境的市場。
  
然而,會寫CUDA程式與會寫好的CUDA程式相差甚遠!
  
阻礙CUDA程式獲得高性能的原因有很多。首先,GPU屬於單指令多資料類型的平行計算,因而任務切分方式非常關鍵,既要充分挖掘執行緒級的並行性,也要充分利用流來實現任務級的並行。其次,GPU的存儲類型和訪問模式比CPU的要豐富得多,一個成功的CUDA程式要能充分利用不同類型的存儲。
 
再次,NvidiaGPU的架構還處於高速發展期,新一代GPU所推出的新功能也能夠有效地提升計算效率。最後,萬丈高樓平地起並不是CUDA開發的最佳方式,Nvidia和一些協力廠商機構都開發了很多基於CUDA的支撐庫,利用好這些協力廠商庫可以讓你的開發過程事半功倍。

Tolga Soyata結合他10多年的CUDA教學經驗以及與 Nvidia多年合作的經歷精心撰寫了本書,針對上述問題進行了詳細而生動的闡述。本書最獨特的地方是它在第一部分中通過CPU多執行緒解釋平行計算,使沒有太多平行計算基礎的讀者也能毫無阻礙地進入CUDA天地。
 
第二部分重點介紹了基於CUDA的GPU大規模並行程式的開發與實現。與現有的同類書籍相比,本書的特點是在多個NvidiaGPU平臺(Fermi、Kepler、Maxwell和Pascal)上並行化,並進行性能分析,説明讀者理解GPU架 構對程式性能的影響。第三部分介紹了一些重要的CUDA庫,比如cuBLAS、cuFFT、NPP和Thrust(第12章);OpenCL程式設計語言(第 13章);使用其他程式設計語言和API庫進行GPU程式設計,包括Python、Metal、Swifi、OpenGL、OpenGLES、OpenCV和微軟 HLSL(第14章);當下流行的深度學習庫cuDNN(第15章)。
  
本書通過生動的類比、大量的代碼和詳細的解釋向讀者循序漸進地介紹了基於CUDA程式設計開發的GPU平行計算方法,內容豐富翔實,適合所有具備基本的C語言知識的程式師閱讀,也適合作為GPU平行計算相關課程的教材。
  
在本書的翻譯過程中得到了機械工業出版社華章公司朱捷先生的大力支持,在此表示由衷的感謝!
  
限於水準,翻譯中難免有錯誤或不妥之處,真誠希望各位讀者批評指正。
 

詳細資料

  • ISBN:9787111630616
  • 規格:平裝 / 425頁 / 16k / 19 x 26 x 2.13 cm / 普通級 / 單色印刷 / 初版
  • 出版地:中國

最近瀏覽商品

 

相關活動

  • 【其他】2024采實電子書全書系:春暖花開‧享閱讀,參展書單書85折起、任選3本79折
 

購物說明

溫馨提醒您:若您訂單中有購買簡體館無庫存/預售書或庫存於海外廠商的書籍,建議與其他商品分開下單,以避免等待時間過長,謝謝。

大陸出版品書況:因裝幀品質及貨運條件未臻完善,書況與台灣出版品落差甚大,封面老舊、出現磨痕、凹痕等均屬常態,故簡體字館除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。 

 

請注意,部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

調貨時間:若您購買海外庫存之商品,於您完成訂購後,商品原則上約45個工作天內抵台(若有將延遲另行告知)。為了縮短等待的時間,建議您將簡體書與其它商品分開訂購,以利一般商品快速出貨。 

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則

  • 手作新書79折起
  • 浪漫小說精選3本72折
  • 888現折88