并行程序設計 中文課件 01 并行程序設計_第1頁
并行程序設計 中文課件 01 并行程序設計_第2頁
并行程序設計 中文課件 01 并行程序設計_第3頁
并行程序設計 中文課件 01 并行程序設計_第4頁
并行程序設計 中文課件 01 并行程序設計_第5頁
已閱讀5頁,還剩69頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

ParallelProgrammingInstructor:ZhangWeizhe(張偉哲)ComputerNetworkandInformationSecurityTechniqueResearchCenter,SchoolofComputerScienceandTechnology,HarbinInstituteofTechnology2課程安排Classhours:Weeks3-9周一,5-6pm正心44

周三,1-2am正心44Office:綜合樓708Informationexchange:wewillmainlyuseemailEmail:wzzhang@

Contacttimes:afterclassorbyappointmentTransparencies:availableafterclass(*.pdf)3實驗安排Classhours:Weeks6-9星期四、星期五9-10節

軟件學院三樓機房Content:1)使用Intel編譯器生成優質代碼

2)基于WindowsThread和OpenMP的并行程序設計

3)采用IntelParallelInspectorXE進行多線程程序調試、調優4)基于MPI的并行程序設計5)基于GPU的并行程序設計4考核安排Examhours:

Weeks11星期三(5月10日)15:45-17:45致知11,12Requirement:(1)Exam:60%(2)Experiments:30%(3)Attendance:10%

5教材《IntroductiontoParallelComputing》機械工業出版社《多核程序設計》

清華大學工業出版社6教材《DesigningandBuildingParallelPrograms并行程序設計》

IanFoster等著,人民郵電出版社網址:/dbpp/7參考書目《多核程序設計技術—通過軟件多線程提升性能》《Multi-CoreProgramming-increasingperformancethroughsoftwaremulti-threading》

ShameemAkhter等著/李寶峰等譯,電子工業出版社,2007

《高性能計算并行編程技術——MPI并行程序設計》都志輝等著,清華大學出版社,2001網址:/upload/2005_04/05041108487447.pdf8課程基礎知識高級程序設計語言數據結構及算法計算機網絡(TCP/IP)9本課程的目的總體目標:了解并行處理器的體系結構,掌握并行程序設計的基本原理,掌握基于共享內存與基于消息傳遞的并行程序設計技術,培養并行算法設計的能力,為后續課程的學習以及將來從事相關的軟件的設計與開發工作打下扎實的基礎。并行處理器體系結構并行程序設計基礎基于共享內存的并行程序設計基于消息傳遞的并行程序設計并行算法的設計與評價課程的主要內容10并行計算導論并行計算機體系結構并行程序設計基礎并行程序通訊及算法性能分析并行計算系統同步并行程序設計并行計算系統互斥容錯基于共享內存程序設計基于分布式內存程序設計Windows多線程Linux多線程MPI程序設計PVM程序設計OpenMP多線程GPU程序設計11關于如何學習1、課堂知識2、搜索引擎3、論壇和專業站點4、期刊論文(CNKI)5、花足夠的時間研究案例-實踐SlidesdonotcoveranythingNotareplacementtoyourownreadingandownnotes第一章

并行計算導論第一章并行計算導論微處理器發展史計算機先驅--BabbageAnalyzer微處理器和計算機的發展史計算機的發展按照硬件工藝可以分為第一代(1946-1958):電子管數字計算機。第二代(1958-1964):晶體管數字計算機。第三代(1964-1971):集成電路數字計算機。第四代(1971年以后):大規模集成電路數字計算機ENIAC(ElectronicNumericalIntegratorandCalculator,即電子數字積分器和計算器)1946年,世界上第一臺全自動電子數字計算機

微處理器和計算機的發展史計算機的發展按照硬件工藝可以分為第一代(1946-1958):電子管數字計算機。第二代(1958-1964):晶體管數字計算機。第三代(1964-1971):集成電路數字計算機。第四代(1971年以后):大規模集成電路數字計算機美國的IBM公司制成了第一臺全部使用晶體管的計算機RCA501型。1958年18微處理器和計算機的發展史計算機的發展按照硬件工藝可以分為第一代(1946-1958):電子管數字計算機。第二代(1958-1964):晶體管數字計算機。第三代(1964-1971):集成電路數字計算機。第四代(1971年以后):大規模集成電路數字計算機IBM360系統是最早使用集成電路元件的通用計算機系列,計算機從此進入了集成電路時代。1964年,IBM360為第三代計算機里程碑20微處理器和計算機的發展史計算機的發展按照硬件工藝可以分為第一代(1946-1958):電子管數字計算機。第二代(1958-1964):晶體管數字計算機。第三代(1964-1971):集成電路數字計算機。第四代(1971年以后):大規模集成電路數字計算機4位、8位與16位微處理器第一代處理器:1971年,英特爾推出微處理器4004世界上第一款微處理器Intel8008是世界上第一種8位的微處理器224位、8位與16位微處理器第二代處理器:Intel公司的8080、8085Zilog公司的Z80、摩托羅拉公司的6800第三代處理器1978年,Intel公司的8086是第一個16位的處理器Intel的80881981年,美國IBM公司將8088芯片用于其研制的PC機中、開創了全新的微機時代Intel的80286實模式與保護模式、多任務Zilog公司的Z8000、摩托羅拉公司的6800023Intel8086/8088架構24第一臺PC的誕生(IBM,1981)

25Intel8088MicroprocessorFirstPCequippedby8088TheAppleMacintoshIn1984,AppledebuteditsMacintosh,whichpopularizedthegraphiticuserinterface,knownastheGUI.MacintoshSystem1.0APPLEIAPPLEIIPLUSTheMacintoshMacintoshSystem2.032位處理器1985年英特爾80386DX正式發布32位核心、cache1989年,英特爾推出80486芯片首次采用了RISC(精簡指令集)技術3032位處理器1993年,586CPU:Pentium(奔騰)1999年,XEON(志強)、Celeron(賽揚)

2002年,新款IntelPentium4處理器內含超線程技術

AMD和Cyrix3164位處理器2003年9月24日,AMDAthlon64處理器正式推出2004年,Intel推出了Nocona代號Pentium4EM64T2005年4月18日,英特爾全球同步首發基于雙核技術桌面產品英特爾奔騰D處理器,正式揭開x86處理器多核心時代。在x86微處理器發展的同時,人們也在進行計算機并行化的探索,又出現了并行計算機體系結構,與多核微機走了不同的道路。32第一章并行計算導論微處理器并行計算機并行計算機Aparallelcomputer

isasetofprocessorsthatareabletoworkcooperativelytosolveacomputationalproblem由一組處理單元組成各處理單元之間相互通信與協作

以更快的速度共同完成一項大規模計算任務34并行計算機的分類:Flynn分類法(行為特征)35SISDSingleInstruction,SingleData

串行計算機(vonNeumann計算機)SIMDSingleInstruction,MultipleData適用性很有限(如MPEG類計算、字符串匹配計算)MISDMultipleInstruction,SingleData為分類的的完美而設置,意義不大MIMDMultipleInstruction,MultipleData常見的并行計算機都可歸入此類MPP/Cluster/SMP/當前基于Cache的Multi-core(Intel、AMD)SIMD處理器陣列機、向量機:CELL、GPU適用于非常規則的計算,例如:視頻、音頻處理的MPEG算法;密集矩陣的運算36MIMD37最常見的并行計算機38MIMD進一步分類1.6DifferentbasicorganizationsandmemoriesindistributedcomputersystemsMulticomputers多計算機系統Multiprocessors多處理器系統MIMD進一步分類39

Multiprocessors

多處理器系統

systemswithsharedmemory共享內存系統ensureuniformmemoryaccess(UMA),–serveasthebasisfordesigning:確保統一內存訪問(UMA),服務作為設計的基礎:parallelvectorprocessors(PVP),e.g.:CrayT90,并行向量處理器(PVP)symmetricmultiprocessor(SMP),e.g.:IBMeServer,SunStarFire,HPSuperdome,SGIOrigin.對稱多處理器(SMP)。402024/12/3141PVP(ParallelVector

Processor

)含有為數不多、功能強大的定制向量處理器(VP),定制的高帶寬縱橫交叉開關及高速的數據訪問。通常不使用高速緩存,而是使用大量向量寄存器及指令緩存,使得該系統對程序編制的要求較高。只有那些充分考慮了向量處理特點的程序才能在該系統上獲得較好的性能。另外,由于價格昂貴、難于管理等原因,這種類型計算機的應用主要集中在一些大型國家關鍵部門。銀河I,NEC地球模擬器。。。2024/12/3142地球模擬器2024/12/3143SMP(SymmetricMultiprocessor)采用商品化的處理器,這些處理器通過總線或交叉開關連接到共享存儲器。每個處理器可等同地訪問共享存儲器、I/O設備和操作系統服務擴展性有限曙光1號,IBMRS/6000。。。2024/12/3144RS6000

Multiprocessors

多處理器系統

distributedsharedmemoryorDSM分布式共享內存non-uniformmemoryaccessorNUMA,非一致內存訪問Thesystemswithsuchmemorytypefallintothefollowinggroups:Сache-onlymemoryarchitectureorCOMA(e.g.:KSR-1andDDMsystems),Сache存儲器架構cache-coherentNUMAorCC-NUMA(e.g.:SGIOrigin2000,SunHPC10000,IBM/SequentNUMA-Q2000),緩存一致的NUMA或CC-NUMAnon-cachecoherentNUMAorNCC-NUMA(e.g.:CrayT3E).非緩存一致性NUMA或NCC-NUMA452024/12/3146DSM(DistributedSharedMemory)存儲器物理上分布在不同的節點中,但通過硬件和軟件方法實現內存的統一編址。SGI的Origin3000、Altix3000系列,SUN的Fire15K。。。2024/12/3147Origin3000與Altix3000Origin3000Altix3000

Multicomputers

多計算機系統

no-remotememoryaccessorNORMA,無遠程內存訪問eachsystemprocessorisabletouseonlyitslocalmemory,每個系統處理器只能使用其本地存儲器gettingaccesstothedataavailableonotherprocessorsrequiresexplicitexecutionofmessagepassingoperations.訪問其他處理器上可用的數據需要顯式執行消息傳遞操作massivelyparallelprocessororMPP,e.g.:IBMRS/6000SP2,IntelPARAGON,ASCIRed,大規模并行處理器clusters,e.g.:AC3VelocityandNCSANTSupercluster.集群2024/12/3149MPP(MassivelyParallelProcessor)處理節點采用商品微處理器系統中有物理上的分布式存儲器采用高通信帶寬和低延遲的互連網絡(專門設計和定制的)能擴展至成百上千乃至上萬個處理器異步MIMD,構成程序的多個進程有自己的地址空間,進程間通信消息傳遞相互作用IntelOptionRed、IBMSP2、Dawning1000。。。2024/12/3150ASCIRedSupercomputer(1996)2024/12/3151IBMBlueGene2024/12/3152IBMBlueGene2024/12/3153Cluster(集群)分布式存儲,MIMD,工作站+商用互連網絡,每個節點是一個完整的計算機,有自己的磁盤和操作系統,而MPP中只有微內核優點:投資風險小系統結構靈活性能/價格比高能充分利用分散的計算資源可擴展性好問題通信性能并行編程環境IBMCluster1350/1600。。。2024/12/3154Cluster13502024/12/3155并行計算機結構模型小結神威-太湖之光“神威太湖之光”是使用中國自主芯片制造的超級計算機。安裝在國家超級計算無錫中心。“神威太湖之光”的浮點運算速度為每秒9.3億億次。神威太湖之光”共有40960塊處理器。全球第一臺運行速度超過10億億次/秒的超級計算機,峰值性能高達12.54億億次/秒,全部采用自主中國芯:“申威26010”眾核處理器,綠色節能。天河二號Tianhe-2國防科大研制的天河二號超級計算機系統,峰值計算速度每秒5.49億億次、持續計算速度每秒3.39億億次雙精度浮點運算,比第二名美國“泰坦”快近一倍的速度連續第四次獲得冠軍。目前天河2號由16000個節點組成,每個節點有2顆基于IvyBridge-E

Xeon

E52692處理器和3個Xeon

Phi,累計共有32000顆IvyBridge處理器和48000個XeonPhi,總計有312萬個計算核心。57泰坦Titan泰坦(英語:Titan)是一臺由克雷公司承建的超級電腦,置放于美國能源部下屬的橡樹嶺國家實驗室中,泰坦也是世界上第一臺以通用圖形處理器(GPGPU)為主要數據處理單元的超級電腦,2012年11月至2013年6月是世界上最快的超級電腦。整臺泰坦共計18,688顆中央處理器和相同數量的圖形處理器,理論峰值性能是27petaFLOPS,LINPACK基準性能測試中取得17.59petaFLOPS58SequoiaBlueGeneSequoia超級計算機系統是由美國國家核安全部(NNSA)所有、位于著名實驗室LLNL(LawrenceLivermoreNationalLaboratory),Sequoia為NNSA委托IBM制造,基于該公司藍色基因/Q架構(BlueGene/Q),擁有96個機柜,共98304個計算節點、接近160萬個處理器核心、內存容量1.6PB(1600TB)。采用超過157萬顆計算內核,其運行速度達到了每秒16.32千萬億次59KSuperComputer日本的K計算機以每秒8千萬億次的浮點計算速度位于Top500榜首,采用了68544顆SPRAC64VIIIfx處理器(每顆處理器8核),共548352個核——兩倍于TOP500排行榜中所有系統的核數。60天河一號“天河一號”是由天津濱海新區和國防科技大學共同建設的國家超級計算機天津中心所研制,第二個千萬億次超級計算機的國家。實測運算速度可達每秒2570萬億次。共有6144個Intel處理器和5120個AMD圖像處理單元61美洲豹“美洲豹”超級計算機系統隸屬于美國能源部,坐落于美國橡樹嶺國家實驗室。在本期排行榜上,它以每秒1.8千萬億次的運算速度超越“走鵑”而名列榜首,運算速度比“走鵑”快大約70%。臺民用計算機,將主要用于模擬氣候變化、能源產生以及其他基礎科學的研究。星云中國深圳的國家超算中心(NSCS)的高性能計算系統——曙光TC3600“星云”超級計算機以1.271PFlop/s的Linpack成績(每秒1271萬億次)成為全世界第二快的超級計算機。刀片服務器作為節點,處理器是32nm工藝的六核至強X5650,并且采用了NvidiaTeslaC2050GPU做協處理(理論計算峰值性能可以達到每秒2980萬億次)

TOP500(2016.6)64TOP500(2015.11)65趨勢66并行計算與分布式計算分布式計算:多臺計算機利用網絡通信進行協作,共同完成某一項任務.這些機器可以是同時做不同的子任務,也可以是按工作流方式依次做不

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論