出版時間:2012-6 出版社:清華大學出版社 作者:Benedict R. Gaster,Lee Howes,David R. Kaeli,Perhaad Mistry,Dana Schaa 頁數(shù):277 字數(shù):390000 譯者:張云泉,張先軼,龍國平,姚繼鋒
Tag標簽:無
內容概要
《OpenCL異構計算》編著者 Benedict R.Gaster、Lee
Howes、David 、R.Kaeli、 Perhaad Mistry、Dana Schaa 。
《opencl異構計算》提供opencl的第一手資料,詳盡闡述了如何在異構環(huán)境下進行并行編程。第1章首先介紹如何在并行系統(tǒng)下編程,定義異構編程需要理解的概念。第2~4章循序漸進地介紹opencl的基本架構。第5章和第6章對這些概念加以擴展,旨在幫助讀者更好地理解。第7~10章提供4
個更復雜的案例學習,讓讀者理解到opencl具有廣泛的應用。第11~13章鎖定高級主題展開討論?! ”緯蓭椭鷮W生和研究人員更好地理解通用異構計算(尤其是opencl提供的解決方案),尤其是適合不同經驗水平的學生,可以作為opencl課程的教材或其他課程的參考,例如并行編程課程和高級課程。
作者簡介
Benedict R. Gaster是一位致力于研究下一代異構處理器編程模型的軟件架構師,具體研究新一代處理器(同時包含CPU和GPU加速器)進行并行編程的高層次抽象。他對OpenCL的設計做出了廣泛的貢獻,并在Khronos Group(科納斯組織)的開放標準聯(lián)盟中代表AMD。他因為類型系統(tǒng)的可擴展標記和變量的研究成果而獲得計算機科學博士學位。
Lee Howes已經在AMD工作兩年多,目前的研究集中于未來異構計算的編程模型。他的研究舉在于如何以聲明方式表示迭代域到數(shù)據的映射,用通俗易懂的方式向開發(fā)人員說明復雜的架構概念和優(yōu)化技術,這兩者都通過編程模型的改進和教育來實現(xiàn)。他因為這一領域的研究成果而獲得倫敦帝國學院計算機科學的博士學位。
David Kaeli獲得羅格斯大學電氣工程專業(yè)的學士和博士學位,雪城大學計算機工程專業(yè)的碩士學位。他是東北大學工程學院本科課程的副院長兼歐洲經委會學院的全職教授,東北大學計算機系統(tǒng)結構研究實驗室主管(NUCAR負責人)。在1993年加入東北大學之前,他曾在IBM工作12年。在這12年當中,后7年在T. J. Watson研究中心(位于紐約市Yorktown Heights)工作。作為合著者發(fā)表了200多篇經過嚴格評審的文獻。他的研究范圍很廣,包括微架構到后端編譯器和軟件工程。他指導了GPU計算領域方面的很多研究項目。目前,他擔任計算機系統(tǒng)結構IEEE技術委員會主席。他是IEEE會士和ACM成員。
Perhaad Mistry目前在東北大學攻讀博士學位。他獲得孟買大學電子工程專業(yè)學士學位和東北大學計算機工程專業(yè)碩士學位。他目前是東北大學計算機系統(tǒng)結構實驗室的一員,導師是David Kaeli。他做過很多并行計算項目。他曾為GPGPU平臺的物理模擬設計了可擴展數(shù)據結構,還針對異構設備實施了醫(yī)療重建算法。目前的研究重點在于異構計算分析工具的設計。他正在研究采用諸如OpenCL之類的標準是否能夠用于構建出合適的工具來簡化當下跨大量異構設備運行的并行編程和性能分析。
Dana Schaa擁有加州理工大學圣路易奧比斯波分校計算機工程學士和東北大學電氣和計算機工程的碩士學位,他目前也在東北大學攻讀博士學位。他的研究興趣包括并行編程模型和抽象,特別針對GPU架構。他已經開發(fā)了基于GPU實現(xiàn)的幾個醫(yī)療成像研究項目,從實時可視化到分布式異構環(huán)境的圖像重建。他在2010年娶了一位出色的妻子Jenny,他們與他們可愛的貓一起生活在波士頓。
書籍目錄
第一章 并行編程入門
引言
opencl
本書目標
并行思維
并發(fā)編程模型和并行編程模型
線程和共享內存
消息傳遞通信
不同的并行粒度
數(shù)據共享和同步
本書結構
參考文獻
擴展閱讀和相關網站
第二章 opencl簡介
引言
opencl標準
opencl 規(guī)范
kernel和opencl執(zhí)行模型
平臺和設備
主機-設備交互
執(zhí)行環(huán)境
上下文
命令隊列
事件
內存對象
flush命令和finish命令
新建一個opencl程序對象
opencl的kernel
內存模型
編寫kernel
向量相加實例的完整代碼
小結
參考文獻
第三章 opencl設備架構
引言
硬件權衡
性能隨頻率的提升及其限制
超標量執(zhí)行
vliw
simd和向量處理
硬件多線程
多核架構
集成:片上系統(tǒng)和apu
高速緩存層次和內存系統(tǒng)
架構設計空間
cpu設計
gpu體系結構
apu和類apu的設計
小結
參考文獻
第四章 opencl基本實例
引言
應用實例
簡單的矩陣相乘
圖像卷積實例
小結
第五章 opencl的并發(fā)與執(zhí)行模型
引言
kernel,work_item,workgroup和
執(zhí)行域
opencl同步:kernel,fence和barrier
隊列與全局同步
opencl內存一致性 事件
命令barrier與marker
主機端內存模型
buffer對象
image對象
設備端內存模型
設備端寬松的內存一致性
全局內存
本地內存
常量內存
私有內存
小結
第六章 opencl在cpu/gpu
平臺上的實現(xiàn)
引言
opencl在amd phenom ii x上的
實現(xiàn)
opencl在amd radeon hd
gpu上的實現(xiàn)
多線程和內存系統(tǒng)
基于clause的simd執(zhí)行
資源分配
opencl的內存性能
opencl全局內存
本地內存——軟件管理的cache
小結
參考文獻
第七章 opencl案例學習:卷積
引言
計算卷積的kernel
選擇合適的workgroup大小
將數(shù)據緩存到本地內存
執(zhí)行卷積
小結
代碼清單
主機端代碼
kernel代碼
參考文獻
第八章 opencl案例學習:
視頻處理
引言
獲得視頻幀
cpu上的解碼
在gpu上解碼視頻
在opencl中處理一個視頻
在多個視頻上處理多個不同effect
事件鏈
最終輸出顯示到屏幕
opencl/opengl協(xié)同工作能力
小結
第九章 opencl案例學習:直方圖
引言
選擇適量的work-group
選擇最優(yōu)的work-group大小
全局內存訪存優(yōu)化
使用原子操作計算局部直方圖
本地內存訪存優(yōu)化
局部直方圖的規(guī)約
全局規(guī)約
完整的kernel代碼
性能和小結
第十章 opencl案例學習:
混合粒子模擬
引言
計算概覽
gpu實現(xiàn)
創(chuàng)建buffer
構造加速結構
計算碰撞
合成
cpu實現(xiàn)
負載均衡
性能和小結
生成均勻網格的kernel代碼
粒子模擬的kernel代碼
第十一章 opencl擴展
引言
擴展機制概覽
設備拆分
雙精度
參考文獻
第十二章 opencl的性能剖析和
調試
引言
基于事件的剖析
amd app profiler
收集opencl程序軌跡
收集opencl gpu kernel性能
計數(shù)器
amd app kernelanalyzer
演示amd app profiler
啟動amd app profiler
使用應用程序的軌跡數(shù)據
以發(fā)現(xiàn)性能瓶頸
使用gpu性能計數(shù)器發(fā)現(xiàn)kernel的
性能瓶頸
調試opencl應用程序
gdebugger概覽
使用gdebugger調試并行opencl
應用程序
amd printf擴展
小結
第十三章 webcl
引言
框架設計
webcl 實驗性實現(xiàn)
firefox擴展
連接javascript和opencl
webcl動手練習
web照片編輯器
討論
小結
參考文獻
擴展閱讀和相關網站
索引
編輯推薦
本書特色 ·解釋OpenCL并行編程的原理和策略,從理解四大抽象模型開始,一直介紹到測試和調試完整的應用 ·覆蓋圖像處理、Web插件、粒子模擬、視頻編輯和性能優(yōu)化等主題 ·展示OpenCL如何映射到目標體系結構,并解釋-些映射到各種體系結構的折衷方案 ·提出一系列基礎編程技術,并通過若干個實例和案例分析來展示針對不同硬件平臺的OpenCL擴展
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載