1、GPU/CPU计算技术在地震成像中的应用,报告人:李 博中国科学院地质与地球物理研究所,1、地震偏移成像技术的发展随着计算机技术的发展而发展从地球物理学家发现水平叠加剖面不足以反映地下构造的准确程度时就开始着手偏移成像的研究工作,最起初是在叠加剖面上利用,直尺和圆规等工作做手工的偏移工作。后来随着计算机的出现,人们开始利用计算机来做数值偏移成像,此后就有很多的偏移方法涌现出来,但是由于当时计算能力的限制只能实现计算量很小的偏移成像,大多数的方法都只能是理论上的推导但很难应用于实际。最典型的实例就是逆时偏移的思想再1978年就已经提出了,但是由于各种原因(其中包括计算能力不够)直到今天才广泛应用
2、于生产实践当中(仅限国外)。2、计算机的发展在偏移成像来划分大致包括了几个关键的变革期; 第一就是(1964-1972)集成电路计算机的诞生,此时也是完整的计算机操作系统形成的时间,使得计算机在中心程序的控制协调下可以同时运行许多不同的程序。但此时的就算效率是非常低的,应用起来也很死板(卡片机),这个时代可以运行的偏移程序非常的少。第二就是(1972-1984)大规模集成电路计算机的出现(大型机),此时段是操作系统的完善时期,并且出现了多种高级程序语言,使得地球物理学家们可以实现很多自己的想法实现偏移程序。第三就是(1985-1990年代)微处理器的出现和发展,促使个人pc机的诞生,并且与此同
3、时的操作系统也日趋成熟,pc机的小巧和稳定和廉价的优势是大型机的最大威胁,但其计算能力还不足以替换大型机。第四就是(1990年代后期-至今)计算机网络的不断发展完善,pc集群出现了,这样的情况下,依靠其可扩展性pc集群的计算能力很快就超过了大型机,并且价格低廉。成为至今为止非常受欢迎的高性能计算工具。最后就是我认为的第五个时代就是多处理器异构协同处理的时代。因为单处理器由于工艺的限制,其速度的提升空间是很有限的,各大公司都转向,多核处理器的方向发展。,计算机的发展 成像方法的发展,GPU/CPU,GPU应用领域,GPU/CPU计算技术,GPU 与 CPU 的发展历程,概括地说,这项技术就是把G
4、PU和CPU两种不同架构的处理器结合在一起,组成硬件上的协同并行模式;同时在应用程序编写上实现GPU和CPU的协同配合的并行计算。,Tesla S1070,PCIe x16 Gen2 Switch,PCI Express Cables to Host System(s),PCIe x16 Gen2,PCIe x16 Gen2,Tesla GPU,4GB GDDR3 DRAM,Tesla GPU,4GB GDDR3 DRAM,PCIe x16 Gen2 Switch,Multiplexes PCIe bus between 2 GPUs,Each 2 GPU sub-system can be
5、connected to a different host,PC服务器,GPU服务器,Tesla S1070,Host Server,PCI-e Gen2 Host Interface Cards,PCIe Gen2 Cables (0.5m length),Connecting Tesla S1070 to Host Servers,PC服务器,GPU服务器,样机配置情况,样机的正面、背面照片,CPU配置 CPU服务器数量:6台, 双CPU,四核,CPU主频:2.5GHz 内存:每台服务器24GB 硬盘:主节点服务器安装16TB,5台服务器各安装1TB硬盘6台服务器均安装1TB工作盘 GPU
6、配置 型号:Nvidia Tesla 1070 内存:16GB GPU个数:6台 官方公布运算能力: 浮点运算能力4TFLOPS。 网络 千兆16口交换机一台,6个节点 GPU/CPU协同并行计算机,样机配置情况,样机的正面、背面照片,综合参数 1、机身尺寸:1.20.61.0米 2、功耗:7000瓦 3、运算能力:24T(万亿次) 4、6个GPU 5、6个CPU 6、外置磁盘:16T,CPU运算能力: 2.5TFLOPS48=120GFLOPS,GPU运算能力: 4TFLOPS6=24TFLOPS,并行计算软件平台(CUDA),CUDA全称是统一设备架构平台,其作用是连接GPU设备与CPU上
7、的应用程序,程序的串行编写 GPU的并行执行,GPU,CPU,GPU,CPU,多尺度的并行软件设计,多尺度计算线程划分,多尺度存储器划分,多尺度线程与多尺度存储器的对应关系,GPU/CPU计算技术是高于单纯CPU计算技术的革命,MPI并行,MPI并行(CPU并行),Grid并行(GPU并行),Block并行(GPU并行),Thread并行(GPU并行),已经应用的地震处理流程,叠前时间偏移(2007) kirchhoff叠前深度偏移(2008) 单程波叠前深度偏移(2009) 逆时偏移(2009) SRME(2010),应用实例,利用GPU/CPU实现逆时偏移方法,MPI并行(CPU并行),G
8、rid并行(GPU并行),Block并行(GPU并行),Thread并行(GPU并行),炮并行(不同炮之间是解耦的),炮内的炮点和剑波点并行(波场的传播模拟),(inline)线方向并行(成像空间应用成像条件),(xline)道方向并行(成像空间应用成像条件),关于效率的比较,CPU与 GPU/CPU 架构的比较GPU+CPU CPU原则: 相同并行尺度下的比较有理论意义宏观的用户级比较才有实际意义,GPU用于加速叠前时间偏移,测试结果 完成740平方千米三维叠前时间偏移处理(输入数据768GB,输出全部936条测线,4毫秒采样,6秒道长) 样机(6CPU+6GPU):55小时2分钟(不足2.
9、5天) 对比机器(34节点,66CPU): 折合3307小时12分钟(约137天,三个半月,实际处理时是间隔(100条)输出的 样机相当20个32节点(双CPU单核)刀片机柜的运算能力,逆时偏移模型计算,用时 1209 s 平均每炮 5 s 共 240 shots 深度方向 750 nz 深度步长 4m dz 水平方向 737 nx 水平步长 12.5m dx,用时 153069 s 平均每炮 113 s 共 1348 shots 深度方向 950 nz 深度步长 12.5m dz 水平方向 5395 nx 水平步长 12.5m dx,小 结,1、GPU和CPU硬件上通过PCIE接口连接与PC集群完全兼容。 2、GPU和CPU软件上通过CUDA的多尺度的并行环境可以实现软件连接,并提高以往PC集群的并行层次。 3、由于并行尺度范围的扩大,GPU/CPU的计算技术优于单一的CPU计算技术。 4、GPU理论上不是CPU的敌人而应该是朋友 5、这项技术确实可以应用于地震勘探中并且将会有广泛的应用,无论是科研还是生产中。,谢谢大家!,