
劉文志
本書關注C程序設計語言的向量化和並行化擴展,以及算法到硬件的映射。本書不但包括如何使用SSE/AVX向量化擴展、如何使用OpenMP編譯製導語句優化運行在X86多核處理器上的代碼的性能,還包括如何使用NEON向量化擴展、OpenMP編譯製導語句優化運行在移動處理器(ARM)上的代碼性能優化,以及使用CUDA和OpenCL優化運行在圖形處理器(GPU)上的代碼性能優化及並行。不但有實際的各個擴展解析或語言的介紹說明,還有豐富的算法優化實例。
近兩三年來,在互聯網企業中,代碼優化、並行計算和GPU的使用越來越受到重視。無論是國外的Google、Facebook還是國內的百度、騰訊、阿里和360,都在使用代碼優化、並行計算和GPU來完成以前不能完成的任務。而現在中小型企業也在使用代碼優化和並行化技術來提升產品的使用體驗。對於軟件開發人員來說,如果不掌握並行計算和代碼性能優化技術,在不久的將來就會被淘汰。 本書不但涵蓋主流的現代多核處理器平臺架構、並行指令集和編譯製導語句,還介紹了常見並行程序設計語言、圖像處理和線性代數算法的代碼性能優化,OpenCL程序如何在AMD、GCN、GPU和NVIDIA GPU上的編程執行,以及CUDA和OpenCL在GPU上的執行區別等。 筆者基於自身豐富的理論和實踐經驗,將大量“不傳之祕”融入本書,主要體現在: 深入剖析了SSE/AVX和NEON指令集、OpenMP編譯製導語句、基於GPU的異構並行計算環境(OpenCL、CUDA和OpenACC),並輔以細節豐富的簡單示例。 簡潔明瞭地展現瞭如何在不同的現代處理器上執行OpenCL程序及執行的區別,通過了解這些區別,讀者能夠編寫出在各個處理器上性能良好的程序。 詳細描述瞭如何在X86、ARM、AMD和NVIDIA GPU上實現、優化代碼的性能,讓讀者能夠很好地評估在不同處理器上實現性能良好的程序需要的考量
書上中的知識點舉例的很不錯,適合於初學者進行簡單的複查和技術檢驗,但對一些老手來說過於簡單,版本也有點陳舊了,很多技術對於如今的互聯網開發來說有點落伍了。
對於GPU底層的優化與計算,理論結合代碼實踐,寫的比較好,如果內容寫的更詳細更全就更好,有些點可以更多的展開
好書,理論基礎不夠,還得回頭讀第二遍