發表於2024-11-23
OpenACC並行編程實戰 pdf epub mobi txt 電子書 下載
HPC領域資深專傢推薦,中國極大OpenACC技術社區創建者撰寫,不可多得的OpenACC技術專著
全麵講解OpenACC編程規範、語法的行為機理與設計動機,160個完整示例覆蓋眾多並行編程場景
中國極大OpenACC技術社區創建者撰寫,為數不多係統介紹OpenACC的技術專著。全麵講解OpenACC編程規範、語法的行為機理與設計動機,160個完整示例覆蓋眾多並行編程場景。
全書分10章,按照並行程序開發步驟組織,建議第1遍順序閱讀。
第1章介紹主流加速器産品的硬件架構、主流並行編程模型等,以期讀者對並行編程生態有全麵瞭解。
第2章介紹OpenACC語言的設計思路,並列齣OpenACC的主要語法供快速查閱。
第3章是本書核心,將大量計算並行化,這是程序提速的根本手段。用大量示例講述兩個計算構件parallel和kernels的行為特點,然後用它並行化Jacobi 迭代。
第4章介紹多種數據管理工具,包含結構化子語copy/create/present、結構化導語data、非結構化導語enter data/exit data/update/declare等,將加速器帶來的數據移動時間減少。
第5章介紹routine導語,嵌套調用並行化自定義函數,用來開發大型程序。
第6章講解用異步隊列隱藏數據傳輸時間、調度多個加速器同時工作等高級特性。
第7章介紹OpenACC與CUDA C/CUDA Fortran和各類庫的混閤編程。
第8章是所有的運行時函數,以供讀者編程查閱。
第9章指導部署開發環境,以便快速上手。
第10章介紹神威?太湖之光的編程模型及其對OpenACC的功能擴展。
何滄平,華為高級工程師,NVIDIA認證 CUDA培訓師。曾任中科曙光HPC事業部工程師,完成全球天氣預報程序並行化項目(加速30倍)和國傢氣象局天氣預報程序並行化項目等,實戰經驗豐富。精通OpenACC、CUDA Fortran、CUDA C,熟悉OpenMP、MPI編程。2012年初開始關注研究OpenACC,陸續翻譯OpenACC 1.0/2.0/2.0a/2.5語言規範以及《CUDA Fortran高效編程實踐》,撰寫大量在綫技術教程,並建立中國*大OpenACC QQ交流群和資源網站,持續推廣。
對於想要掌握OpenACC使用技巧和編程精髓的讀者來說,本書是一本非常具有參考價值的學習教程。與傳統的技術書籍相比,本書更加注重內容的可讀性和易讀性,邏輯清晰,內容全麵準確,且更加注重編程實踐,有大量的C/C++/Fortran完整代碼實例,便於讀者學習和實踐。作為第1本中文的OpenACC技術書籍,可謂為國內的編程學習者帶來瞭福音。
——漆鋒濱 CCF常務理事,國傢並行計算機工程技術研究中心研究員
前 言 2010年以來,中國超級計算機建設突飛猛進,欣欣嚮榮。一個原因是國力強盛,大力投資高新科技;另一個原因是整體科技水平提高,需求旺盛。天氣預報、石油物探、工程仿真、基因測序等傳統應用對計算資源的需求持續增長,以深度學習為代錶的人工智能大爆發,資金雄厚的互聯網公司對計算能力極度渴求。超級計算機的建設、應用主戰場正在從教育科研單位轉嚮科技企業。
為什麼要寫這本書麵對浩如煙海的數據,CPU已經力不從心,因此世界領先的超級計算機都裝備大量的加速器或者眾核處理器。
目前主流加速器産品是NVIDIA GPU、AMD GPU和Intel至強Phi協處理器。三種加速器使用的編程語言分彆為CUDA C/CUDA Fortran、OpenCL和MIC導語。加速器計算有4個睏難。
一是CUDA/OpenCL等低級語言編程難度大,且需要深入瞭解加速器的硬件結構。而大部分的用戶不是專業編程人員,學習一門新的編程技術將耗費大量時間。
二是加速器的計算模型與CPU差彆很大,移植舊程序需要幾乎完全重寫。大量的舊程序在性能優化上已經韆錘百煉,穩定性上也久經考驗,完全重寫是不可完成的任務。
三是低級編程語言開發的程序與硬件結構密切相關,硬件升級時必須升級軟件,否則將損失性能。而硬件每隔兩三年就升級一次,頻繁的軟件升級將給用戶帶來巨大負擔。
四是投資方嚮難以選擇。三種加速器均有自己獨特的編程語言,且互不兼容。用戶在投資建設硬件平颱、選擇軟件開發語言時就會陷入睏境,不知三種設備中哪個會在競爭中勝齣。如果所選加速器將來落敗,將會帶來巨大損失;而猶豫不決又將錯過技術變革的曆史機遇。
OpenACC應運而生,可以剋服這4個睏難。OpenACC的編程機製是,程序員隻在原程序中添加少量編譯標識,編譯器根據作者的意圖自動産生低級語言代碼。無須學習新的編程語言和加速器硬件知識,便能迅速掌握。隻添加少量編譯標識,不破壞原代碼,開發速度快,既可並行執行又可恢復串行執行。在硬件更新時,重新編譯一次代碼即可,不必手工修改代碼。OpenACC標準製定時就考慮瞭目前及將來的多種加速器産品,同一份代碼可以在多種加速器設備上編譯、運行,無成本切換硬件平颱。掌握OpenACC後,編寫程序省時、省力、省心。
本書特色筆者學習超算技術時有過苦淚:教材一上來就講技術細節,隻能機械地學習,不清楚這些算法、語法要解決什麼問題,花費巨大精力後卻發現解決不瞭自己的難題;新技術的資料往往是英文的,而且零碎,還不一定準確,收集、學習成本很高,求助無門;科學計算領域的祖師語言Fortran現在有點小眾,新技術資料更少。為節省讀者時間,本書特彆重視易讀性、易用性,具體有如下特點。
第一本中文OpenACC技術書籍,方便國內讀者係統閱讀,快速掌握。
全麵、準確:本書覆蓋OpenACC的所有特性,重要特性結閤例子詳細講解,不常用的特性列齣標準定義,方便查找。對特性、功能的描述均來自OpenACC規範,並用實例驗證,確保準確。
大量的例子:書中的示例代碼超過160個,不是代碼片斷,而是完整代碼,拿來即用。全部由筆者編寫、測試,運行無報錯。
兼顧C/C++和Fortran:以C/C++為主來講解,但所有的例子都有Fortran版的代碼,Fortran專用特性會詳細講解。物理、氣象等領域積纍的優秀Fortran代碼可以藉此移植到新硬件上,重煥生機。
閱讀輕鬆:按照並行程序的編寫、調優順序,先交代各階段麵臨的問題,然後自然引入OpenACC提供的解決辦法,最後實測驗證效果。一切順理成章,讀者不會有雲裏霧裏的感覺。
讀者對象科學傢:迅速改造舊程序,快速編寫新的原型程序驗證算法、理論,將更多的時間投入到高價值的科研創新中去。
企業程序員:一套程序適配多種運行平颱,維護簡單;性能敏感的部分用CUDA等低層語言編寫,性能不敏感部分用OpenACC編寫,相互配閤,兼得程序性能和開發效率。
本科生、研究生:花最少的時間掌握一門計算工具,省齣時間學習更多的知識。
如何閱讀本書第1章介紹超級計算技術的發展趨勢和並行編程概況,可以從中瞭解OpenACC的作用。沒有CUDA C基礎的讀者能夠掌握基本概念,便於深入理解OpenACC的並行化技術。第2章介紹OpenACC語言的設計思路。第3~4章是本書的核心,將計算部分並行化,並將數據傳遞時間減到最少。至此,讀者已經能夠編寫性能良好的OpenACC程序。第5~7章介紹高級並行技術,以進行極緻性能優化,以及與CUDA C/CUDA Fortran和各類庫的混閤編程。第8章給齣OpenACC規定的所有運行時例程,不用細讀,用到時再參考。第9章指導部署開發環境,以便快速上手。
勘誤和支持本人水平有限,錯誤與疏漏在所難免,懇請批評指正。聯係筆者請發送電子郵件至hpcfan@foxmail.com。更多技術資源請訪問www.gpujisuan.com。技術交流QQ群284876008(將滿)、564520462,歡迎加入。
緻謝感謝國傢並行計算機工程技術研究中心漆鋒濱老師撰寫第10章,並為本書作序。感謝PGI美女工程師王珍、帥氣工程師仰璡歆、Daniel Tian、資深專傢Mathew Colgrove的技術支持。感謝機械工業齣版社的策劃編輯高婧雅盡心協力。
讀完之後覺得講的還是不錯的
評分讀完之後覺得講的還是不錯的
評分書不錯
評分一下買瞭好多書,慢慢看吧
評分實用的拓展書
評分書不錯
評分一下買瞭好多書,慢慢看吧
評分實用的拓展書
評分讀完之後覺得講的還是不錯的
OpenACC並行編程實戰 pdf epub mobi txt 電子書 下載