出版時間:1970-1 出版社:武漢大學出版社 作者:武漢大學多核架構(gòu)與編程技術課程組 頁數(shù):211
Tag標簽:無
前言
隨著處理器技術的迅猛發(fā)展,Inter、AMD、IBM和Sun等知名廠商紛紛推出了在單片芯片上集成多個執(zhí)行核的微處理器產(chǎn)品。目前,無論是桌面應用、移動應用、服務器還是嵌入式平臺,都開始廣泛采用多核架構(gòu),現(xiàn)代計算平臺已全面進入多核時代。微處理器的發(fā)展進一步促進了并行計算的發(fā)展與普及,同時為軟件開發(fā)人員提供了新的機遇和挑戰(zhàn)。以前,軟件開發(fā)人員很少關心程序的并行化問題,因為在單核計算機平臺上,程序只能并發(fā)執(zhí)行,而非真正地并行執(zhí)行,并行程序與串行程序無明顯差異。而在多核計算機平臺上,平行程序與串行程序性能差異明顯。因此,在多核計算平臺上設計多核程序,對于程序性能的提升顯得尤為重要。掌握多核架構(gòu)知識與具備多核程序設計能力已成為程序開發(fā)人員必備的素質(zhì)之一。程序設計一直是高等院校各專業(yè)的一門重要的基礎課程,開設與多核架構(gòu)與編程開發(fā)相關的課程不僅是時代的需求,也是培養(yǎng)高素質(zhì)復合人才的需要。目前,大多數(shù)與多核程序設計相關的教材是面向計算機專業(yè)的,這些教材很少涉及與電子信息處理領域直接相關的問題,對于非計算機專業(yè)的學生而言,缺少足夠的面向?qū)I(yè)的多核編程指導。因此,編寫適用于非計算機專業(yè)的,尤其是針對電子信息專業(yè)的多核編程教材已是廣泛而迫切的現(xiàn)實需求。本書第l章介紹了微處理器和并行計算機的發(fā)展歷程與趨勢;第2章主要介紹了多核處理器的架構(gòu)與并行計算的模型;第3章詳細介紹了多線程編程的基礎和基本方法;第4章詳細介紹了OpenMP程序設計技術;第5章介紹了如何運用專業(yè)的多核工具來調(diào)試和優(yōu)化多核程序;第6章詳細介紹了Intel高性能集成基元開發(fā)庫的編程方法及其在信號處理中的應用;第7章介紹了一些典型的專業(yè)化多核應用開發(fā)平臺,包括面向計算機視覺的多核編程工具OpenCV、MATLAB并行開發(fā)工具包和面向檢測自動化的專業(yè)化軟件LabView的多核編程工具等。全書既涉及多核的硬件知識,又涉及多核的軟件知識;既注重通用編程,又強調(diào)與專業(yè)化編程相結(jié)合。實用化和專業(yè)化是本書的宗旨。本書可作為高等院校信息技術相關專業(yè)的本科生和研究生教材,也可供相關領域的科研人員和工程技術人員參考。本書的出版是團隊協(xié)作努力的結(jié)果。在此,對為本書的編寫付出辛勤勞動的人們致以特別感謝。本書第1章主要由謝銀波和楊建峰編寫,第2章主要由饒云華編寫,第3、4章主要由孫濤編寫,第5章主要由謝銀波編寫,第6章主要由李立編寫,第7章主要由鄭宏編寫。周建國參與了本書部分材料的收集和整理工作。全書由鄭宏整理定稿。武漢大學出版社王金龍和胡艷等同志為本書的出版做了大量工作。
內(nèi)容概要
《多核架構(gòu)與編程技術》涉及多核硬件和軟件技術,主要包括多核體系架構(gòu)及其并行編程技術?!抖嗪思軜?gòu)與編程技術》從硬件架構(gòu)人手,介紹了多核處理器、多核支持芯片組和相關操作系統(tǒng)的發(fā)展歷程與趨勢?!抖嗪思軜?gòu)與編程技術》側(cè)重論述了多核并行程序設計的基礎理論和技術,詳細介紹了多線程程序設計方法與常用的并行程序開發(fā)工具OpenMP,并結(jié)合Intel提供的軟件調(diào)優(yōu)工具介紹了多核程序設計的優(yōu)化方法。此外,還詳細介紹了一些典型的專業(yè)化多核應用開發(fā)平臺,包括Intel高性能集成基元開發(fā)庫(IPP)、面向計算機視覺的多核編程工具OpenCV、MATLAB并行開發(fā)工具包和面向檢測自動化的專業(yè)化軟件LabView的多核編程工具等?! 抖嗪思軜?gòu)與編程技術》是高等院校信息類專業(yè)高年級本科生或低年級研究生的教科書,同時也可供相關領域的科研人員和工程技術人員參考。
書籍目錄
第1章 導論1.1 微處理器1.1.1 單核處理器1.1.2 多核處理器1.1.3 未來處理器的發(fā)展趨勢1.2 并行計算平臺1.2.1 并行計算機的發(fā)展歷程1.2.2 并行計算機系統(tǒng)的體系結(jié)構(gòu)1.2.3 并行計算機系統(tǒng)的性能指標第2章 多核處理器架構(gòu)與并行計算2.1 單芯片多核處理器構(gòu)架2.1.1 多核芯片與處理器2.1.2 多核單芯片架構(gòu)2.1.3 主流多核架構(gòu)2.1.4 多核架構(gòu)性能問題2.2 多核處理器及其外圍芯片組2.2.1 CPU外圍的主板芯片組2.2.2 嵌入式軟件2.2.3 EFI軟件對多核芯片的支持2.3 多核處理器的并行計算模型2.3.1 微處理器中的并行計算2.3.2 SIMD同步并行計算模型2.3.3 MIMD異步并行計算模型2.3.4 并行程序設計模型第3章 多線程編程基礎3.1 多線程概念3.1.1 何謂多線程3.1.2 用戶線程與內(nèi)核線程3.2 多線程模型與層次3.2.1 多對一模型3.2.2 一對一模型3.2.3 多對多模型3.2.4 多線程的層次3.3 Window8多線程編程基礎知識3.3.1 基礎知識3.3.2 例程3.4 多線程的同步及其編程3.4.1 臨界區(qū)同步3.4.2 互斥量同步3.4.3 信號量同步3.4.4 事件同步3.4.5 死鎖問題第4章 OpenMP多線程編程4.1 OpenMP編程簡介4.1.1 OpenMP及其特點簡介4.1.2 OpenMP發(fā)展歷史4.2 OpenMP編程基礎4.2.1 OpenMP體系結(jié)構(gòu)4.2.2 fork.join并行模型4.2.3 OpenMP編程4.2.4 OpenMP指令庫4.2.5 指導語句作用域4.2.6 主要編譯指導語句4.3 OpenMP編程實例及分析4.3.1 OpenMP編程環(huán)境變量4.3.2 常用指導語句用法4.3.3 OpenMP實例分析比較第5章 多核程序調(diào)試與性能優(yōu)化5.1 IntelC++編譯器5.1.1 IntelC++編譯器簡介5.1.2 InteC++編譯器的調(diào)用5.1.3 使用IntelC++編譯器優(yōu)化應用程序5.2 IntelVTune性能分析器5.2.1 IntelVTune性能分析器簡介5.2.2 IntelVTune性能分析器的使用5.2.3 利用VTune性能分析器優(yōu)化分析應用程序性能5.3 線程檢測器5.3.1 線程檢測器簡介5.3.2 線程檢測器的使用5.3.3 使用線程檢測器查找應用程序的潛在問題5.4 線程檔案器5.4.1 線程檔案器簡介5.4.2 線程檔案器的使用5.4.3 線程檔案器優(yōu)化應用程序性能第6章 高性能多核編程——IPP程序設計6.1 IPP簡介與使用6.1.1 什么是IntelIPP6.1.2 IPP與Intel其他組件的關系6.1.3 IPP的安裝6.2 IPP編程技術基礎6.2.1 架構(gòu)與接口6.2.2 IPP基本編程方法6.3 IPP編程實例6.3.1 基于IPP的數(shù)字信號處理編程6.3.2 基于IPP的數(shù)字圖像處理編程第7章 面向應用的多核編程工具7.1 面向計算機視覺的多核編程工具——OpenCV7.1.1 OpencV的主要特點7.1.2 OpenCV的主要功能7.1.3 OpenCV的體系結(jié)構(gòu)7.1.4 基于OpencV的應用程序的開發(fā)步驟與示例7.2 面向檢測自動化的多核編程工具——LabView8.5 7.2.1 LabView8.5 簡介7.2.2 LabView多核編程示例7.2.3 LabView多核應用示例7.3 面向科學計算的多核編程工具——MATLAB分布式計算工具包7.3.1 MATLAB分布式計算工具包簡介7.3.2 分布式計算工具包的主要功能7.3.3 分布式計算工具包的基本編程附錄 Visual Studio配置說明參考文獻
章節(jié)摘錄
插圖:④低功耗:它可以將多個任務分給多個核去做,也可以將一個任務分給多個核去做,這樣雖然對于單核和多核來說總?cè)蝿樟渴且粯拥?,但是多核CPU在處理任務的時候,每個核都只是完成總?cè)蝿盏囊恍〔糠?,所以占用每個核的使用率很低,這樣使得每個核的發(fā)熱量都很小。1.1.3 未來處理器的發(fā)展趨勢應用需求的不斷提高是計算機發(fā)展的根本動力,Internet的應用、P2P和普適計算的應用都促使計算機性能不斷提升,多核技術已經(jīng)成為微處理器技術的重要技術支點。大型企業(yè)的:ERP、CRM等復雜應用,科學計算、政府的大型數(shù)據(jù)庫管理系統(tǒng)、數(shù)字醫(yī)療、電信、金融等領域都需要高性能計算,都需要多核技術乃至多核微處理器的支持。無疑,未來將是多核微處理器的時代。多核CPU在設計上將更為靈活,它已不局限于雙核的對稱(即同構(gòu))設計,緩存單元與任務分配更合理,核心間通信更快捷,這些特性決定了它在芯片設計方面,對稱和非對稱(即同構(gòu)和異構(gòu)結(jié)構(gòu))將成為兩大發(fā)展方向。按計算內(nèi)核的對等與否,片上多核處理器(CMP,chip multi-processor)可分為同構(gòu)多核和異構(gòu)多核。計算內(nèi)核相同、地位對等的稱為同構(gòu)多核,Intel公司和AMD公司現(xiàn)在主推的雙核處理器,就是同構(gòu)的雙核處理器。很早以前就有專家指出,同構(gòu)多核具有局限性,即使增加集成CPU內(nèi)核的數(shù)量,根據(jù)用途不同,有時并不能相應地提高性能。這就是所謂的“Amdahl定律”。Amdahl定律的看法是,即使通過增加同種CPU內(nèi)核數(shù)量,具備并行處理能力,但處理量(處理成果)存在著來自必須逐次執(zhí)行軟件的限制。計算內(nèi)核不同、地位不對等的稱為異構(gòu)多核。異構(gòu)多核多采用“主處理核+協(xié)處理核”的設計,IBM、索尼和東芝等公司聯(lián)手設計推出的Cell處理器正是這種異構(gòu)架構(gòu)的典范。處理核本身的結(jié)構(gòu)關系到整個芯片的面積、功耗和性能。怎樣繼承和發(fā)展傳統(tǒng)處理器的成果,直接影響多核的性能和實現(xiàn)周期。同時,根據(jù)Amdahl定律,程序的加速比決定于串行部分的性能,所以,從理論上來看,似乎異構(gòu)微處理器的結(jié)構(gòu)具有更好的性能。目前,圖形芯片具有的浮點運算性能已經(jīng)大大超越了處理器。如果能夠靈活運用,隨著圖形芯片的發(fā)展,將會涌現(xiàn)出各種各樣新的應用。在占據(jù):PC及服務器主流地位的x86處理器中,圍繞GPU(圖形處理單元)展開的相關研發(fā)工作已成為一大熱點。從電腦出現(xiàn)直到20世紀90年代,顯示器上的畫面都是2D的,無論是一個漢字還是一張圖片。早期顯卡只是一個命令執(zhí)行者,一切都需要聽CPU的,其充當?shù)慕巧珒H僅是CPu的助手。但是,隨著3D渲染概念的出現(xiàn),CPU和顯卡之間的關系就出現(xiàn)了變化。由于早期的顯卡只能處理2D圖像,并不知道如何進行3D圖形處理,因此CPU不得不將3D渲染指令編譯成顯卡能識別的2D指令,長此以往,CPU整天疲于為顯卡進行指導工作,抽不出時間來干本職工作,而導致工作效率低下,于是顯示卡商們決定給顯卡加上3D處理能力。自從擁有3D處理能力,顯卡在計算機系統(tǒng)的作用已經(jīng)從過去不顯眼的角色上升到比較重要的位置,輔助并分擔此前由CPU來執(zhí)行的3D圖形加速方面的大量計算。
編輯推薦
《多核架構(gòu)與編程技術》是高等院校信息類專業(yè)高年級本科生或低年級研究生的教科書,同時也可供相關領域的科研人員和工程技術人員參考。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載