推薦閱讀的多核程式設計技術書籍
多核程式設計技術好書推薦
多核程式設計技術——通過軟體多執行緒提升效能 ,
作 者: (孟加拉)阿克特(Akhter,S.),(美)羅伯茨(Roberts,J.) 著,李寶峰,富弘毅,李韜 譯
本書從原理、技術、經驗和工具等方面為讀者提供關於多核程式設計技術的全方位解釋。本書由三大部分組成:第一部分包括第1~4章,介紹軟體多執行緒的 內容;第二部分包括第5章和第6章,其中討論用於編寫並行程式的常用程式設計API:第三部分包括其餘五章關於多核程式設計的內容,講述常見並行程式設計問題 及解決方法(第7章)、多執行緒應用程式的除錯技術(第8章)、單核與多核處理器基本原理(第9、10章)和所需的Inter公司的軟體開發輔助工具(第11章)。
本書作者都是長期供職於Inter公司的資深軟體工程師和結構師,書中融入了他們自己豐富的軟硬體開發經驗,可以為面向多核體系 結構進行並行程式設計的開發人員提供巨大的幫助。不論對從未接觸過並行程式設計的開發人員,還是轉型面向多核體系結構進行並行程式設計的開發人員來講,本書都是一本難得的參考書。
多處理器程式設計的藝術
作 者:(美)荷裡希,(以)謝菲特 著,金海,胡侃 譯
工業界稱為多核的多處理器機器正迅速地滲入計算的各個領域。多處理器程式設計要求理解新型計算原理、演算法及程式設計工具,至今很少有人能夠精通這門程式設計藝術。
現今,大多數工程技術人員都是通過艱辛的反覆實踐.求助有經驗的朋友來學習多處理器程式設計技巧。這本最新的權威著作致力於改變這種狀況,作者全面闡述了多處理 器程式設計的指導原則,介紹了編制高效的多處理器程式所必備的演算法技術。瞭解本書所涵蓋的多處理器程式設計關鍵問題將使在校學生以及相關技術人員受益匪淺。
軟體優化技術——IA-32平臺的高效能手冊(第2版),
作 者: (美)格貝爾(Gerber,R.) 等著,王濤 等譯
《軟體優化技術——IA-32平臺的高效能手冊》是Intel出版社最暢銷的書籍之一。它填補了軟體優化的初級課本與解決專門Intel®架構的高 級手冊之間的空白。隨著Intel擴充套件記憶體64位技術(Intel EM64T)、多核處理技術、超執行緒技術、OpenMP†和多媒體擴充套件等新技術的流行,Intel出版社邀請另外三位Intel專家與原作者一起擴充套件、更 新形成了本書的第2版。 《軟體優化技術——IA-32平臺的高效能手冊》第2版提供瞭如何優化軟體,使軟體在Intel平臺上獲得巨大效能提升的最新技術。通過簡單的講解和示例,四位Intel專家向我們展示瞭如何從以下一些方面改進軟體效能,包括演算法、記憶體訪問、分支預測、自動向量化、SIMD指令、多執行緒和浮點計算。想了解最新技術以提高應用效能和想提高編碼技巧的軟體開發者,均可以從本書中受益。
Intel Threading Building Blocks程式設計指南,
作 者: (美)仁達敬(Reinders,J) 著;聶雪軍 等譯.
多核處理器的出現使得並行程式設計成為了每個程式設計師關注的主題。不具備多處理器核的計算機系統已經變得越來越少。本書為c++程式給出了並行程式設計的解決方案,它既不要求放棄c++,也不要求使用那些裸執行緒或者本地執行緒。
本書介紹的是Intel執行緒構建模組。執行緒構建模組是一個用來實現並行語義的c++模板庫,它對c++進行了擴充套件,抽象出了執行緒管理機制並支援簡明的並行編 程。在使用這個庫時,你所要指定的是任務而不是執行緒,然後庫將高效自動地將這些任務對映到執行緒上。如果希望程式在處理器核不斷增加的情況下也能夠繼續執行,那麼這種方式將帶來許多好處。與裸執行緒相比,執行緒構建模組能夠使你更方便地表達並行語義,同時還能夠提高程式的效能,可移植性和可擴充套件性。在使用本書時,你無需任何並行程式設計經驗或者在多核處理器上的程式設計經驗。無論你是擁有豐富的並行程式設計經驗,還是對並行程式設計一無所知,本書的內容都將是非常有用的。此外,本書也不要求之前是否對執行緒有所瞭解。
並行程式設計(第2版)
作 者: (美)威爾金森,(美)阿蘭 著,陸鑫達 等譯
本書系統介紹並行程式設計原理及應用。除介紹常用的一些演算法範例,包括分治、流水、同步計算、主從及工作池,還介紹了一些常用的經典數值和非數值算 法,如排序、矩陣相乘、線性方程組求解、影象處理中的預處理和相應的變換、搜尋和優化等。第2版新增了機群計算等使用機群的內容,對如何打造專用和通用的 機群以及設定相應的程式設計環境做了較為詳盡的介紹。章後包含大量習題,其中現實生活習題非常實用,既可增強學習興趣,又可提高並行程式設計技巧。 本書可作為高等院校計算機專業高年級本科生或研究生的教材,對從事高效能運算的科技工作者也是一本很有價值的參考書。
並行程式設計原理
作 者:(美)林,(美)斯奈德 著,陸鑫達 等譯
出 版 社:機械工業出版社
出版時間:2009-7-1
本書內容新穎,涉及現代並行硬體和軟體技術,包括多核體系結構及其並行程式設計技術。本書側重論述並行程式設計的原理,並論述了並行程式設計中一些深層次問題,如可擴充套件性、可移植性以及並行程式設計應遵循的方法學等。
多核計算與程式設計,
作 者: 周偉明 著
本書是一本專業的多核程式設計方面的著作,覆蓋了多核程式設計的各個方面。重點圍繞多核(或多處理器)計算機系統的演算法和程式這一重心,分五個部分 展開講述。書中重點剖析了多核程式設計的核心技術——共享資源分散式程式設計技術,包括各種設計模式、分散式佇列、分散式查詢、分散式記憶體管理、任務圖分解與調 度、動態任務排程等。這些技術簡單易學,並可以解決鎖競爭、負載均衡等多核程式設計難題,免去學習複雜並行演算法之苦。同時,書中講解了專門針對多核的平行計算 方法,如並行搜尋、並行排序、並行數值計算等內容,幷包含了對CPU核數擴充套件性及Cache偽共享等多核相關問題的處理。此外,為便於讀者更準確和深入理 解,作者還對多核基本概念和理論、多執行緒程式設計基礎、OpenMP程式設計、常用資料結構與演算法、Lock-Free程式設計等基礎概念和知識進行了講解。
多工下的資料結構與演算法
作 者:周偉明 著
出 版 社:華中科技大學出版社
出版時間:2006-4-1
本書和傳統同類書籍的區別是除了介紹基本的資料結構容器如棧、佇列、連結串列、樹、二叉樹、紅黑樹、AVL樹和圖之外,引進了多工;還介紹了將任意資料結構容器變成支援多工的方法;另外,還增加了複合資料結構和動態資料結構等新內容的介紹。在複合資料結構中不僅介紹了雜湊連結串列、雜湊紅黑樹、雜湊AVL樹等容器,還介紹了複合資料結構的通用設計方法;在動態資料結構中主要介紹了動態環形佇列、動態等尺寸記憶體管理演算法。在記憶體管理中介紹了在應用程式層實現的記憶體垃圾回收演算法、記憶體洩漏檢查和記憶體越界檢查的方法等。本書選取的內容均側重於在實際中有廣泛應用的資料結構和演算法,有很好的商業使用價值。