《并行计算--硬件基础及性能评测概要课件.ppt》由会员分享,可在线阅读,更多相关《并行计算--硬件基础及性能评测概要课件.ppt(62页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、并行计算Parallel Computing基本概念如何满足不断增长的计算力需求?n用速度更快的硬件,也就是减少每一条指令所需时间n优化算法(或者优化编译)n用多个处理机用多个处理机(器器)同时解决一个问题同时解决一个问题q并行计算并行计算2023/2/172串行计算与并行计算2023/2/173并行的层次n程序级并行程序级并行n子程序级并行子程序级并行n语句级并行n操作级并行n微操作级并行并行粒度粗细2023/2/174FLOPSnFloating point number Operations Per Second-每个时钟周期执行浮点运算的次数 n理论峰值CPU主频每时钟周期执行浮点运算
2、数CPU数目n部分处理器每时钟周期执行浮点运算数:2023/2/175www.top500.org2023/2/176Top5002007年11月n高居榜首的依然是来自高居榜首的依然是来自IBM的的“蓝色基因蓝色基因/L”。自从2004年11月以来,该系统已经连续三年遥遥领先连续三年遥遥领先,而且计算能力不断提升,Linpack基准测试性能基准测试性能478.2 TFlop/s(每秒478.2万亿次运算),而半年前还是280.6 TFlop/s n拿下亚军位置的还是IBM,不过换成了一台落成不久的“蓝色基因蓝色基因/P”。位于德国尤里希研究中心的这套新系统运算能力167.3 TFlop/s,不
3、过按照IBM的设计规划,蓝色基因/P的性能将有望突破1 TFlop/s大关,即每秒一千万亿次运算。2023/2/177Top5002007年11月n第三名也是个新面孔,同时也是新墨西哥墨西哥计算应用中心(NMCAC)的第一套超级计算机,由SGI基于Altix ICE 8200打造,计算能力126.9 TFlop/s。n同时印度史上首次杀入了印度史上首次杀入了TOP10行列行列,印度计算研究实验室的HP Cluster Platform 3000 BL460c以117.9 TFlop/s的性能拿到了第四位 2023/2/178供应商系统数量2023/2/179供应商计算能力2023/2/1710
4、国家分布系统数量2023/2/1711国家分布计算能力2023/2/1712体系结构系统数量2023/2/1713体系结构计算能力2023/2/1714应用领域系统数量2023/2/1715应用领域计算能力2023/2/1716操作系统系统数量2023/2/1717操作系统计算能力2023/2/1718处理器家族系统数量2023/2/1719处理器家族计算能力2023/2/1720系统数量2023/2/1721计算能力2023/2/17222007年中国高性能计算机性能年中国高性能计算机性能TOP100 2023/2/1723并行化方法n域分解(Domain decomposition)n任务
5、分解(Task decomposition)n流水线(Pipelining)2023/2/1724域分解nFirst,decide how data elements should be divided among processorsnSecond,decide which tasks each processor should be doingnExample:Vector addition2023/2/1725域分解Find the largest element of an array2023/2/1726域分解Find the largest element of an arrayC
6、PU 0CPU 1CPU 2CPU 32023/2/1727域分解Find the largest element of an arrayCPU 0CPU 1CPU 2CPU 32023/2/1728域分解Find the largest element of an arrayCPU 0CPU 1CPU 2CPU 32023/2/1729域分解Find the largest element of an arrayCPU 0CPU 1CPU 2CPU 32023/2/1730域分解Find the largest element of an arrayCPU 0CPU 1CPU 2CPU 32
7、023/2/1731域分解Find the largest element of an arrayCPU 0CPU 1CPU 2CPU 32023/2/1732域分解Find the largest element of an arrayCPU 0CPU 1CPU 2CPU 32023/2/1733域分解Find the largest element of an arrayCPU 0CPU 1CPU 2CPU 32023/2/1734域分解Find the largest element of an arrayCPU 0CPU 1CPU 2CPU 32023/2/1735域分解Find th
8、e largest element of an arrayCPU 0CPU 1CPU 2CPU 32023/2/1736域分解Find the largest element of an arrayCPU 0CPU 1CPU 2CPU 32023/2/1737任务(功能)分解nFirst,divide tasks among processorsnSecond,decide which data elements are going to be accessed(read and/or written)by which processorsnExample:Event-handler for
9、GUI2023/2/1738任务分解f()s()r()q()h()g()2023/2/1739任务分解f()s()r()q()h()g()CPU 0CPU 2CPU 12023/2/1740任务分解f()s()r()q()h()g()CPU 0CPU 2CPU 12023/2/1741任务分解f()s()r()q()h()g()CPU 0CPU 2CPU 12023/2/1742任务分解f()s()r()q()h()g()CPU 0CPU 2CPU 12023/2/1743任务分解f()s()r()q()h()g()CPU 0CPU 2CPU 12023/2/1744流水线nSpecial k
10、ind of task decompositionn“Assembly line”parallelismnExample:3D rendering in computer graphicsRasterizeClipProjectModelInputOutput2023/2/1745Processing One Data Set(Step 1)RasterizeClipProjectModel2023/2/1746Processing One Data Set(Step 2)RasterizeClipProjectModel2023/2/1747Processing One Data Set(S
11、tep 3)RasterizeClipProjectModel2023/2/1748Processing One Data Set(Step 4)RasterizeClipProjectModelThe pipeline processes 1 data set in 4 steps2023/2/1749Processing Two Data Sets(Step 1)RasterizeClipProjectModel2023/2/1750Processing Two Data Sets(Time 2)RasterizeClipProjectModel2023/2/1751Processing
12、Two Data Sets(Step 3)RasterizeClipProjectModel2023/2/1752Processing Two Data Sets(Step 4)RasterizeClipProjectModel2023/2/1753Processing Two Data Sets(Step 5)RasterizeClipProjectModelThe pipeline processes 2 data sets in 5 steps2023/2/1754Pipelining Five Data Sets(Step 1)Data set 0Data set 1Data set
13、2Data set 3Data set 4CPU 0CPU 1CPU 2CPU 32023/2/1755Pipelining Five Data Sets(Step 2)Data set 0Data set 1Data set 2Data set 3Data set 4CPU 0CPU 1CPU 2CPU 32023/2/1756Pipelining Five Data Sets(Step 3)Data set 0Data set 1Data set 2Data set 3Data set 4CPU 0CPU 1CPU 2CPU 32023/2/1757Pipelining Five Data
14、 Sets(Step 4)Data set 0Data set 1Data set 2Data set 3Data set 4CPU 0CPU 1CPU 2CPU 32023/2/1758Pipelining Five Data Sets(Step 5)Data set 0Data set 1Data set 2Data set 3Data set 4CPU 0CPU 1CPU 2CPU 32023/2/1759Pipelining Five Data Sets(Step 6)Data set 0Data set 1Data set 2Data set 3Data set 4CPU 0CPU 1CPU 2CPU 32023/2/1760Pipelining Five Data Sets(Step 7)Data set 0Data set 1Data set 2Data set 3Data set 4CPU 0CPU 1CPU 2CPU 32023/2/1761Pipelining Five Data Sets(Step 8)Data set 0Data set 1Data set 2Data set 3Data set 4CPU 0CPU 1CPU 2CPU 32023/2/1762