編輯推薦
追隨並行計算一綫專傢的足跡,帶你步入MIC的神秘。
高效能服務器和存儲技術國傢重點實驗室主任、浪潮-Intel中國並行計算聯閤實驗室主任王恩東,英特爾副總裁Rajeeb Hazra PhD親自為《MIC高性能計算編程指南》作序並推薦。
內容簡介
《MIC高性能計算編程指南》是全球一本全麵介紹MIC軟硬件體係架構、應用及編程開發優化的書籍。書中介紹瞭使用MIC進行通用計算所需要瞭解的硬件架構、語法、程序優化技巧等知識,是進行MIC高性能與通用計算程序開發的入門教材和參考書。
《MIC高性能計算編程指南》共分12章。第1章介紹高性能計算的發展曆程;第2章深入介紹MIC的軟硬件架構;第3章介紹MIC編程環境的搭建;第4章引入一個簡單的MIC實例;第5章簡要介紹與MIC編程相關的OpenMP和MPI相關知識;第6章詳細講解瞭MIC編程的語法;第7章介紹MIC編程用到的工具軟件;第8章介紹MIC可以使用的數學庫及其用法;第9章詳細講解如何優化MIC程序,從多個方麵係統闡述瞭MIC優化的方式和方法;第10章通過一個典型的矩陣乘法示例,展示MIC優化方法的應用;第11章介紹將MIC技術應用於工程中的流程和方法;第12章引入兩個實際工程的例子,講解如何將MIC技術應用於實際生産過程當中。
《MIC高性能計算編程指南》可作為MIC的入門學習和編程參考書,主要麵嚮從事高性能計算的程序員與工程師、MIC加速計算專業領域的科研人員,以及對MIC通用計算感興趣的程序員,也可作為開設相關課程的高等院校與科研機構的教材。
作者簡介
王恩東,浪潮-Intel中國並行計算聯閤實驗室主任,研究員,國務院特殊津貼專傢,“863”計劃領域專傢,高效能服務器和存儲技術國傢重點實驗室主任、浪潮集團高級副總裁,兼任國際信息處理聯閤會(IFIP)中國委員會主席、中國計算機學會副理事長等職,獲國傢科技進步奬3項,並獲何梁何利奬,發明專利26項。
張清,浪潮-Intel中國並行計算聯閤實驗室首席工程師,浪潮HPc應用技術經理,主要從事高性能計算、並行計算,研究CPU多核、GPU、MIC眾核技術,曾在生命科學、石油、氣象、金融等HPC領域主持多個異構並行計算項目。
瀋鉑,浪潮-Intel中國並行計算聯閤實驗室應用研發資深工程師,主要從事高性能算法、軟件開發與優化等方麵的技術研究與應用工作,具有多年的生命科學、石油物探、氣象等領域開發調優經驗。
內頁插圖
目錄
序一
序二
前言
第一篇 MIC基礎篇
第1章 MIC高性能計算
1.1 多核、眾核計算的發展
1.2 MIC技術簡介
1.3 為什麼要選擇MIC
1.3.1 SMP
1.3.2 集群(cluster)
1.3.3 GPGPU
第2章 MIC硬件及軟件架構
2.1 MIC硬件架構
2.1.1 術語解析
2.1.2 MIC硬件架構概覽
2.1.3 MIC Core
2.1.4 環形互聯總綫Ring
2.1.5 CLOCK
2.1.6 頁錶(Page Tables)
2.1.7 係統接口
2.1.8 性能監控單元和事件管理器
2.1.9 電源管理
2.2 MIC軟件架構
2.2.1 概述
2.2.2 Bootstrap
2.2.3 Linux加載器
2.2.4 微操作係統(OS)
2.2.5 對稱通信接口(SCIF)
2.2.6 主機驅動
2.2.7 sysfs節點
2.2.8 MPI應用的MIC軟件棧
2.2.9 應用編程接口(API)
第3章 MIC安裝、環境配置
3.1 MIC環境配置
3.1.1 前期準備
3.1.2 安裝Host端的Linux操作係統
3.1.3 安裝MIC驅動
3.1.4 安裝在MIC上編譯C/C++的編譯器
3.2 SDK示例運行
第4章 第一個MIC實例--計算PI
第5章 OpenMP和MPI編程基礎
5.1 OpenMP基礎
5.1.1 OpenMP簡介
5.1.2 OpenMP編程模型
5.1.3 OpenMP語法簡要介紹
5.2 MPI基礎
5.2.1 啓動和終止MPI庫
5.2.2 獲取信息
5.2.3 發送和接收消息
第6章 MIC編程
6.1 MIC編程模型
6.2 應用模式
6.2.1 CPU原生模式
6.2.2 CPU為主MIC為輔模式
6.2.3 CPU與MIC對等模式
6.2.4 MIC為主CPU為輔模式
6.2.5 MIC原生模式
6.3 MIC基本語法
6.3.1 offload
6.3.2 變量和函數聲明
6.3.3 頭文件
6.3.4 環境變量
6.3.5 編譯選項
6.3.6 其他問題
6.4 MIC上的MPI
6.4.1 MIC上的MPI限製
6.4.2 MIC上MPI編程模型
6.4.3 MIC上的MPI環境配置
6.4.4 編譯及使用
6.4.5 MIC上的MPI示例
6.5 SCIF編程
6.5.1 什麼是SCIF
6.5.2 SCIF的基本概念介紹
6.5.3 SCIF基本通信過程
6.5.4 SCIF用到的API函數
第7章 MIC軟件調試與性能分析工具
7.1 Intel軟件工具鏈對MIC的支持
7.2 MIC軟件調試工具IDB
7.2.1 IDB簡介
7.2.2 IDB的操作界麵
7.2.3 IDB對MIC架構的支持與要求
7.2.4 使用IDB調試MIC程序
7.3 MIC性能分析工具VTune
第8章 Intel MIC MKL庫使用方法
8.1 Intel MKL核心函數庫介紹
8.2 在MIC卡上使用Intel MKL
8.2.1 編譯器輔助offload方式
8.2.2 自動offload方式
8.3 FFT在MIC上的使用
8.3.1 FFT簡介
8.3.2 FFT在MIC上的使用方法一
8.3.3 FFT在MIC上的使用方法二
8.4 BLAS在MIC上的使用
8.4.1 BLAS簡介
8.4.2 在MIC上調用BLAS庫方法
第二篇 性能優化篇
第9章 MIC性能優化
9.1 MIC性能優化策略
9.2 MIC優化方法
9.2.1 並行度優化
9.2.2 內存管理優化
9.2.3 數據傳輸優化
9.2.4 存儲器訪問優化
9.2.5 嚮量化優化
9.2.6 負載均衡優化
9.2.7 MIC綫程擴展性優化
第10章 MIC優化示例:矩陣乘法
10.1 矩陣乘法串行算法
10.2 OpenMP多綫程矩陣乘法
10.3 MIC多綫程矩陣乘法
10.3.1 基本版本
10.3.2 嚮量化優化
10.3.3 SIMD指令優化
10.3.4 矩陣分塊乘法
第三篇 工程開發篇
第11章 基於MIC的HPC應用開發過程
11.1 熱點測試
11.1.1 準備工作
11.1.2 熱點測試及定位
11.2 程序分析
11.2.1 程序移植模式分析
11.2.2 計算規模分析
11.2.3 特點分析
11.2.4 熱點並行性分析
11.2.5 嚮量化分析
11.2.6 MIC內存分析
11.2.7 程序分析總結
11.3 MIC程序開發過程
11.3.1 基於CPU的OpenMP並行
11.3.2 基於MIC的綫程擴展
11.3.3 單節點CPU+MIC協同並行
11.3.4 MIC集群並行
第12章 基於MIC的HPC應用實例
12.1 基於單節點CPU+MIC協同計算電子斷層三維重構並行算法
12.1.1 電子斷層三維重構技術及SIRT算法介紹
12.1.2 SIRT串行程序分析
12.1.3 基於OpenMP的SIRT並行程序開發
12.1.4 基於MIC平颱的SIRT並行程序開發
12.1.5 單節點多卡及CPU+MIC異構協同計算架構設計
12.2 基於多節點CPU+MIC協同計算大渦模擬並行算法
12.2.1 格子-Boltzmann大渦模擬算法介紹
12.2.2 大渦模擬串行程序分析
12.2.3 基於OpenMP的大渦模擬並行算法
12.2.4 基於MIC的大渦模擬並行算法
12.2.5 基於多節點CPU+MIC協同計算平颱的大渦模擬並行算法
參考文獻
前言/序言
高性能計算是信息領域的前沿高新技術,在保障國傢安全、推動國防科技進步、促進尖端武器發展方麵具有直接推動作用,是衡量一個國傢綜閤實力的重要標誌之一。隨著信息化社會的飛速發展,人類對信息處理能力的要求越來越高,不僅石油勘探、氣象預報、航天國防、科學研究等需求高性能計算,而且金融、政府、教育、企業、網絡遊戲等更廣泛的領域對高性能計算的需求也在迅猛增長,百億億次計算(Exascale)已提上研究日程,人們正期待著未來采用百億億次計算機解決更大規模、更加復雜的問題。
21世紀多核、眾核時代已經來臨,高性能計算産業正在經曆一場深刻的變革,並行計算將是未來的發展趨勢,也將再次成為研究熱點。目前主流的集群架構係統,采用CPU同構模式,其單節點內擁有十幾個甚至幾十個CPU計算核心已非罕事,大規模計算應用中一次甚至可以利用數十萬個以上CPU核心,然而采用CPU同構架構係統將麵臨著性能功耗比、性能訪存比、並行效率等巨大挑戰。而采用CPU+GPU的異構架構進行通用科學計算,利用GPU眾核技術進行加速,在業界已掀起一陣熱潮,但其也麵臨著細粒度並行算法、編程效率、大規模計算性能等重大挑戰。如何在提高大規模計算係統性能、提高軟件生産力的同時縮短編程周期,降低功耗將是我們思考和關注的焦點。
Intel公司推齣瞭基於集成眾核(Many Integrated Core,MIC)架構的至強融核(Intel· Xeon PhiTM)係列産品,用於解決高度並行計算問題。該産品雙精度性能達到每秒一萬億次以上,它基於現有的x86架構,支持OpenMP、pThread、MPI等多種業內熟悉的並行編程模型,采用傳統的C/C++/Intel· CilkTM Plus和Fortran等語言進行軟件開發,其特點以編程簡單(引語方式)著稱,具有豐富的工具鏈支持。對於采用傳統CPU平颱很難實現性能進一步提升的部分應用,使用MIC可以帶來性能的大幅提升,並且CPU與MIC可以共用一份代碼,在x86架構下實現CPU+MIC異構協同計算的完美結閤,為廣大高性能計算用戶提供瞭全新的計算解決方案。
浪潮-Intel中國並行計算聯閤實驗室從2011年8月24日成立以來,就一直參與MIC技術研究,並在MIC平颱開展實際的高性能計算應用項目工作,為Intel· Xeon PhiTM係列産品最終順利推齣,貢獻瞭自己的一份力量。我們在深入瞭解MIC軟硬件的同時,也積纍瞭大量的開發經驗。我們很榮幸能夠參與到這場高性能計算的技術革命當中,並作為先行者,將MIC技術介紹給各位讀者。希望通過本書,能讓更多的讀者瞭解MIC技術,並享受到Intel· Xeon PhiTM係列産品帶來的好處。
本書適閤的讀者
本書的主要目標是為開發人員提供一些幫助,使他們能夠學會使用Intel· Xeon PhiTM係列産品,並利用其開發、移植或優化並行程序。本書的主要內容是講述一些使用MIC技術時的編程語法、程序設計技術和優化手段,並基於我們的應用性能優化經驗,介紹一些在實際應用中遇到的問題和解決方案。
我們假設讀者擁有一定並行程序開發的基礎知識,但是對MIC技術知之甚少。本書並非講解並行計算原理或算法的書籍,因此假設讀者擁有相關原理和算法的知識,但是在麵對具體並行算法時,本書仍然會進行描述。本書假設讀者熟悉OpenMP、MPI等並行編程常用的手段,但仍會對常用的語法進行簡要的介紹。本書假設讀者熟悉C/C++/Fortran中的一種或幾種編程語言,尤以熟悉C/C++為佳。但是,書中給齣的許多思想和建議也同樣適閤其他的高級語言,而且,如果以後Intel公司的Intel· Xeon PhiTM産品支持其他語言,絕大部分優化手段和應用經驗仍然可以適用。總的來說,此書大緻適閤三類人群:
高校、科研院所學生、老師及科研人員,研究並行,研究多核、眾核技術者;
IT從業人員,編寫高性能計算軟件,利用眾核提升程序性能,在高性能計算領域追求性能的開發人員尤為適用;
行業高性能計算領域應用人員,如石油勘探、生物基因、醫療圖像、金融、航空航天、氣象氣候、材料化學等人員,目的是利用MIC提升原CPU程序性能,從而提高生産力。
我們希望通過我們的努力能夠使得本書讓更多的讀者受益,具有更加廣泛的讀者群。
本書特點:
由於MIC架構的特殊性,本書並不能被明確地歸到某一類中。這是一本介紹MIC編程語言的書,這是一本介紹Intel· Xeon PhiTM産品的書,這又是一本介紹並行編程優化的書。通過閱讀本書,我們希望讀者能夠盡量多地瞭解有關MIC的方方麵麵,更希望讀者能夠在未來的實踐中用上MIC技術,用好MIC技術。
本書由三篇組成。第一篇為"MIC基礎篇",包括第1~8章,介紹MIC架構的基礎知識。其中:
第1章簡要迴顧瞭並行計算的發展曆程,並對市麵上現有的並行計算的硬件技術進行瞭對比,然後簡要介紹瞭MIC技術的情況,並給齣瞭MIC技術的優勢。
第2章介紹瞭支撐MIC技術的軟硬件架構的相關知識。雖然沒有這些背景知識並不影響使用MIC編程,但深入瞭解MIC架構能夠編寫齣更加適閤MIC架構的程序。
第3章介紹瞭MIC運行、編程環境的安裝和配置。由於MIC技術包含獨立的硬件以及相關的驅動、編譯器、編程工具等一係列配套軟件,因此需要編程人員,尤其是係統配置人員對此有一定掌握。本章供需要配置係統的讀者閱讀。
第4章通過一個計算圓周率PI的小例子,直觀地展示瞭MIC程序的特點,並介紹瞭MIC程序背後的運行流程。
第5章介紹瞭MIC編程所需的背景知識,包括OpenMP和MPI的基本語法。如果已有這方麵的基礎,可以跳過本章。
第6章介紹瞭MIC的編程模式、語法、環境變量、編譯選項等。通過本章的學習,可以掌握編寫自己的MIC程序的方法。
第7章介紹瞭MIC相關的調試和優化工具以及它們的用法。學會使用工具,可以為調試和優化帶來方便。
第8章介紹瞭Intel公司的一些可以用在MIC上的數學庫的用法,包括VML、FFT、Blas等。
第二篇為"性能優化篇",包括第9章和第10章的內容。其中:
第9章首先講述瞭MIC優化的基本原則和策略,之後分不同方麵詳細闡述瞭MIC優化的方法與使用場閤。本章講述的內容已基本涵蓋MIC優化的主要方法,而且,除個彆方法以外,大部分方法也通用於CPU並行計算編程的實踐當中。
第10章通過對並行計算中典型示例--矩陣乘法的優化,以理論結閤實際的方式,一步步地詳細解釋瞭優化步驟是如何應用的。
第三篇為"工程開發篇",包括第11章和第12章的內容。這是全書的最後一部分,其中:
第11章通過作者對自身團隊工程開發優化經驗的總結,提煉齣一套並行程序開發在工程應用中的方法。對如何判斷一個串行或並行的CPU程序是否適用MIC進行計算,並且如何將程序移植到MIC上進行瞭討論。
第12章通過兩個實際生産中的案例,講述瞭MIC技術是如何對實際項目産生影響的。
本書前期由高效能服務器和存儲技術國傢重點實驗室主任、浪潮-Intel中國並行計算聯閤實驗室主任、浪潮集團高級副總裁王恩東牽頭,並明確寫作方嚮,對技術發展趨勢把關,浪潮-Intel中國並行計算聯閤實驗室首席工程師張清具體負責製定寫作計劃、確定整本書的提綱、結構、每章節書寫的內容、風格和讀者定位。中期由張清組織和推進團隊寫作此書,並定期進行審閱,對執筆作者完成的章節內容的準確性、技術錶述的深淺度、可讀性進行審核,並反饋修改意見,具體由浪潮-Intel中國並行計算聯閤實驗室工程師瀋鉑、張廣勇、盧曉偉、吳慶、王婭娟五位作者共同執筆,其中第1章由瀋鉑撰寫,第2章由吳慶、瀋鉑撰寫,第3章由王婭娟撰寫,第4章由瀋鉑撰寫,第5章由瀋鉑撰寫,第6章由瀋鉑撰寫,王婭娟也參與瞭部分撰寫工作,第7章由吳慶撰寫,第8章由盧曉偉撰寫,第9章由張廣勇撰寫,瀋鉑、王婭娟也參與瞭部分撰寫工作,第10章由張廣勇撰寫,第11章由瀋鉑撰寫,第12章由盧曉偉、張廣勇撰寫。後期由王恩東、張清、Intel公司的何萬青(Warren)博士、Victor Lee(李匯強)博士審閱,張清負責最後內容審定、統稿。
本書中全部完整的源代碼已經過作者反復測試通過,但由於MIC技術尚處於起步階段,不能保證源代碼在更新版本中仍然可用。因此,如果編譯器或MIC執行環境有更新,請參閱相應版本的Intel官方手冊。
MIC高性能計算編程指南 epub pdf mobi txt 電子書 下載 2024
MIC高性能計算編程指南 下載 epub mobi pdf txt 電子書