發表於2024-11-22
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並行編程實戰 下載 mobi pdf epub txt 電子書 格式 2024
OpenACC並行編程實戰 下載 mobi epub pdf 電子書讀完之後覺得講的還是不錯的
評分不錯的書籍,很好很強大,很給力
評分一下買瞭好多書,慢慢看吧
評分jjfjfjfjcnncnvnvnnvnvnv
評分讀完之後覺得講的還是不錯的
評分實用的拓展書
評分很好的!!!!
評分一下買瞭好多書,慢慢看吧
評分jjfjfjfjcnncnvnvnnvnvnv
OpenACC並行編程實戰 mobi epub pdf txt 電子書 格式下載 2024