-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

OpenCL異構計算(第2版)

( 簡體 字)
作者:Benedict R. Gaster, Lee Howes, David R. Kaeli, Perhaad Mistry, Dana Schaa,類別:1. -> 教材 -> 數位影像處理
譯者:張云泉、張先軼、賈海鵬、李焱、顏深根
出版社:清華大學出版社OpenCL異構計算(第2版) 3dWoo書號: 36461
詢問書籍請說出此書號!

缺書
不接受訂購

出版日:8/13/2013
頁數:290
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
不接受訂購
ISBN:9787302333951
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

我們身處異構世界
我們所在的世界本質上是異構的。如此多元的豐富性和細節難以用語言描述。與此同時,廣泛不同的實體針對具體任務和環境進行的優化帶來了某種程度的復雜性和相互影響。
在計算領域,豐富的異構計算系統有利于程序員選擇最佳的硬件架構來執行手邊的任務,或者選擇恰當的任務來優化使用特定的硬件架構。在解決包含各種不同任務的計算問題時,異構系統在這兩方面的靈活性表現得尤為明顯。最近,計算機設計社區出現了一股構建異構系統的熱潮。市面上正在涌現出一些新型的計算系統,它們由不同類別的架構組成。但這一進程的發展受阻,因為缺乏一個標準化的編程環境來統管通用框架內呈多樣化態勢的各種資源。
有關OpenCL
OpenCL的發展旨在減輕程序員為異構系統編寫應用程序的負擔。OpenCL迎合了當前為給定架構上增加處理器核數這一發展趨勢。OpenCL框架能夠運行在多核CPU、DSP、FPGA、GPU以及異構加速處理單元上。該架構提供了廣泛的方法來抽取內存系統和指令流中的并行性和效率。 OpenCL框架的多樣性為設計人員提供了解決問題的方法——如果采用OpenCL規范進行設計,該解決方案的更新便能夠與硬件架構的種類增多和發展保持同步。OpenCL標準中抽象和接口允許程序員使應用程序無縫地運行在一個或多個廠商的多種異構設備上。
本書的目標
目前為止,沒有一本合適的教材能夠幫助程序員和軟件工程師利用OpenCL編程標準所具有的能力和靈活性。因此,我們嘗試填補空白。為了這個目標,我們不想編寫一本語法手冊——有大量好的資源,程序員可以從中找開完整、最新的OpenCL語法描述。
本書試圖向開發者或學生說明如何利用OpenCL框架來構建有趣且有用的應用。我們通過提供大量實際應用案例來展示該編程標準具有的魅力。
我們希望讀者能夠擁抱這個新的編程框架,并探究它為異構系統帶來的所有好處。我們歡迎對本書提出改進意見,同時也希望本書能夠幫助你構建下一個異構應用程序。
致謝
感謝Manju Hegde提議編寫本書。Jay Owen負責聯系參與編寫本書的各方,Morgan Kaufmann出版社的Todd Green負責本項目的管理和進度提醒等。
在技術方面,我們感謝Jay Cornwall認真負責地為本書文字編輯了早期版本,我們感謝Takahiro Harada, Justin Hensley, Budirijanto Purnomo, Frank Swehosky和Dongping Zhang,他們分別為幾個章節做出了重要的貢獻。尤其是如果沒有他們的幫助,本書很難擁有如此多的研究實例。

內容簡介:

《OpenCL異構計算》講解了OpenCL和如何為復雜的異構系統(多核處理器、GPU和APU)進行并行編程。OpenCL是為支持多平臺設計的,受行業廣泛支持,有助于幫助讀者為異構環境編寫高性能應用程序。
本書由并行計算和OpenCL社區中的領頭人所撰寫,可幫助讀者體驗OpenCL從而了解大量基礎的并行算法。主題涉及內存空間、優化技術、圖形的互操作、性能擴展,調試和性能剖析等。此外,本書第2版新增了案例分析和實例,清楚闡述了高性能算法、異構系統的分布式運行機制、嵌入式域特定語言等。
本書讀者對象為軟件工程師、程序員、硬件工程師、高年級本科生/研究生,可供并行編程課程使用,包含有詳細的案例,附有額外的網上練習和其他支持材料。

本書特色
    第2版根據OpenCL 1.2最新開發動態進行修訂,包括新的架構和功能。
    新增主題有圖像處理、數據管理和OpenCL語言與C/C++之外其他語言(比如Haskell)的權衡
    解釋OpenCL并行編程的原理和策略,從理解四大抽象模型開始,一直介紹到測試和調試完整的應用 
    覆蓋圖像處理、Web插件、粒子模擬、視頻編輯和性能優化等主題 
    展示OpenCL如何映射到目標體系結構,并解釋一些映射到各種體系結構的折衷方案 
    提出一系列基礎編程技術,并通過若干個實例和案例分析來展示針對不同硬件平臺的OpenCL擴展



目錄:

第1章 并行編程入門 1
引言 1
OpenCL 1
本書目標 2
并行思維 2
并發編程模型和并行編程模型 6
線程和共享內存 9
消息傳遞通信 9
不同粒度的并行 10
數據共享和同步 11
本書結構 11
參考文獻 13
擴展閱讀和相關網站 13
第2章 OpenCL簡介 15
引言 15
OpenCL標準 15
OpenCL 規范 15
kernel和OpenCL執行模型 16
平臺和設備 19
主機-設備之間的交互 19
執行環境 22
上下文 22
命令隊列 22
事件 23
內存對象 24
flush命令和finish命令 26
新建一個OpenCL程序對象 26
OpenCL的kernel 27
內存模型 29
寫kernel 31
向量相加實例的完整代碼 32
使用C++封裝API實現向量相加 35
小結 38
參考文獻 38
第3章 OpenCL設備架構 39
引言 39
硬件權衡 39
性能隨頻率的提升及其限制 41
超標量執行 42
VLIW 42
SIMD和向量處理 45
硬件多線程 46
多核架構 49
集成:片上系統和APU 51
高速緩存層次和內存系統 52
架構設計空間 53
CPU設計 55
GPU體系結構 58
APU和類APU的設計 60
小結 62
參考文獻 63
第4章 OpenCL基本實例 65
引言 65
應用實例 65
簡單的矩陣相乘 65
圖像旋轉實例 71
圖像卷積實例 75
編譯OpenCL主機端應用 82
小結 83
第5章 OpenCL的并發與執行模型 85
引言 85
kernel,work_item,workgroup和執行域 85
OpenCL同步:kernel,fence和barrier 88
隊列與全局同步 92
OpenCL的內存一致性 94
事件 94
命令barrier與marker 106
主機端內存模型 107
buffer對象 108
image對象 111
設備端內存模型 113
設備端寬松的內存一致性 114
全局內存 115
本地內存 117
常量內存 119
私有內存 120
小結 120
第6章 OpenCL在CPU/GPU平臺上的實現 121
引言 121
OpenCL在AMD BULLDOZER上的實現 121
OpenCL在AMD RADEON HD7970 GPU上的實現 126
多線程和內存系統 128
HD7970架構上的指令執行 130
VLIW執行的改進 134
資源分配 135
OpenCL的內存性能 136
OpenCL全局內存 136
本地內存——軟件管理的緩存 140
小結 146
參考文獻 146
第7章 數據管理 147
引言 147
內存管理 147
獨立環境中(使用獨立GPU)的數據傳輸 149
優化 149
緩存區 150
共享內存環境中的數據存儲 151
本地內存 153
緩存的系統內存 154
非緩存系統內存 154
應用實例——workgroup 歸約 155
使用獨立GPU設備 156
使用APU 158
參考文獻 159
第8章 OpenCL案例學習:卷積 161
引言 161
計算卷積的kernel 161
選擇合適的workgroup大小 161
將數據緩存到本地內存 164
執行卷積 170
小結 171
代碼清單 172
主機端代碼 172
kernel代碼 176
參考文獻 181
第9章 OpenCL案例學習:直方圖 183
引言 183
選擇適量的workgroup 183
選擇最優的workgroup大小 184
全局內存訪存優化 185
使用原子操作計算局部直方圖 187
本地內存訪存優化 188
局部直方圖的歸約 190
全局歸約 191
完整的kernel代碼 191
性能和小結 194
第10章 OpenCL案例學習:混合粒子模擬 195
引言 195
計算概覽 196
GPU實現 198
創建buffer 198
構造加速結構 199
計算碰撞 199
合成 200
CPU實現 200
負載均衡 201
性能和小結 202
生成均勻網格的kernel代碼 203
粒子模擬的kernel代碼 204
第11章 OpenCL擴展 209
引言 209
擴展機制概覽 209
設備拆分 212
雙精度 223
參考文獻 231
第12章 在其他語言中使用OpenCL 233
引言 233
C和C++之外 233
Haskell Opencl 235
模塊結構 237
環境 237
引用計數 237
平臺和設備 238
運行環境 239
小結 241
參考文獻 242
第13章 OpenCL的性能剖析和調試 243
引言 243
基于事件的剖析 244
AMD APP Profiler 246
收集OpenCL程序軌跡 247
收集OpenCL GPU Kernel性能計數器 250
AMD APP KernelAnalyzer 251
演示AMD APP Profiler 253
啟動AMD APP Profiler 253
使用應用程序的軌跡數據以發現性能瓶頸 253
使用GPU性能計數器發現kernel的性能瓶頸 255
調試OpenCL應用程序 256
gDEBugger概覽 257
使用gDEBugger調試并行OpenCL應用程序 257
AMD printf擴展 259
小結 261
第14章 某圖像分析應用的性能調優 263
引言 263
算法描述 264
CPU多線程實現的OpenCL移植 266
熱點分析 267
kernel開發及靜態分析 269
性能優化 270
Kernel Occupancy 271
workgroup大小的影響 275
向量寄存器(VGPR)和LDS的影響 281
能耗和性能分析 283
小結 284
參考文獻 284
索引 285
序: