并行程序设计 中文课件 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

提交评论