1、地球物理高性能计算的新选择GPU计算技术地球物理高性能计算的新选择:GPU计算技术随着微电子技术的发展,GPU计算技术与可重构计算技术将有可能替代集 群计算技术成为高性能计算的主流技术。充分利用 GPU并行处理能力,可以将 GPU作为计算加速器为基于CPU的通用计算平台提供高性能的科学计算能力补 充,这样可以在现有通用计算平台的基础上实现高性价比的高性能计算解决方案。长期以来,石油地球物理勘探一直是高性能计算技术的主要应用领域之一。 随着油气勘探工作面临的勘探对象不断复杂化,勘探条件日趋 恶劣,我们对石 油地球物理勘探技术的研究与应用也在不断深化。 地球物理技术的发展与应用高 度依赖于包括高性
2、能计算技术在内的信息技术的发展,从而导致高性 能计算技 术在地球物理行业的应用不断发展, 应用规模与领域不断扩大, 技术与产品不断 升级。高性能计算技术的发展在较大程度上引领和制约了地球物理技术发展 的 轨迹与进程。2000年以来,集群计算技术得到了飞速发展,从而带来了地震数据处理系 统平台的又一次更新换代,集群计算机系统基本 上已经成为目前地震数据处理 的唯一主流平台。 近年来, 集群计算机系统的配置规模正在不断扩大, 大型地震 数据处理中心的集群系统规模已经达到上千个甚至数千 个节点,计算能力普遍 从百亿次(10OGFLOPS级规模提高到目前的数万至数十万亿次规模。计算能力的 提高,为地震
3、勘探新技术 (如地震叠前时间偏移和 叠前深度偏移 )的应用打下了 良好的基础,提高了地震资料处理的质量,也大大缩短了处理周期。但是,地球物理技术对于高性能计算的需求是无止境的, 信息技术产业在提 供高性能计算产品方面仍然不能满足石油勘探的需求,在进一步提高计算性能、 降低系统建设与运行维护成本等方面, 信息技术产业与石油工业共同面临着一系 列的挑战。当前,集群已经成为高性能计算的主流体系架构。 为了提高集群计算机系统 的计算能力, 主要采取不断增加计算节点和提高节点性能 2 条途径。传统的通过 不断提高 处理器工作频率来提高节点性能的技术,正在逐步走向其极限,取而 代之的是多核处理器技术。 系
4、统节点规模的不断提高, 一方面大大提高了系统建 设、运行、维 护、管理及应用软件开发的复杂性及成本,另一方面在提高系统 总体性能方面受到越来越大的制约。因此,寻求高性能计算新技术,以实现高性能计算技术应用的跨越式发展, 成为我们当前面临的一项重要任务。1、高性能计算技术发展的新途径圈长期以来,计算性能的提高主要得益于微处理器工作频率的提高,莫尔定 律主宰着信息技术发展的步伐。 然而,主频的提高带来的系统发热问题日趋突出, 系统功 耗不断上升。因此,近年来 CPU技术的发展采取了新的思路,主频提高 的步伐放慢,而提高处理器并行处理能力逐步成为主要技术思路。在 传统的通用微处理器中, 开发指令级并
5、行性主要有 2 种方法: 一是采用超 流水线结构增加每秒钟执行的指令数 ; 二是采用超标量或超长指令字 ( VLIW) 结 构增加指令发射和执行的并行度, 每个周期发射多条指令到多个功能部件上执行, 从而提高每个时钟周期执行的指令数。从根本上来讲,传统的通用微 处理器芯 片对于并发活动缺少专门的硬件支持, 导致从高级语言表达的应用代码中自动构 造出能在传统通用微处理器上有效运行的并行程序非常困难。为了保证微处理器芯片性能的持续提高,更重要的是为了降低芯片功耗和 复杂性,目前主流的商用CPU设计已全面采用多线程多核体系结构, 双核已成为 CPU的主流产品,4核CPU产品也已经大规模批量生产,预计
6、 2008年和2010年 将可能推出 8 核和 32 核产品,而英特尔前期推出的 Polaris 原型芯片已 经包含 了 80 个核。在传统CPU由单核向多核发展的技术路线以外,当前活跃着其他几条新的技术发展路线,它们可能代表着未来高性能计算技术发展的重要方向与趋势。一个重要方向是基于FPGA现场可编程门阵列)的可重构计算技术5 一 7, 它综合了软件计算的灵活性和硬件系统的高性能等优点, 目前成为了计算技术研 究的一大热点。另一个重要方向是基于GPU的通用计算技术,它主要应用图形处理芯片(GPU) 的高性能并行处理能力实现科学计算。实际上,目前开始流行于通用CPU的多核 技术,已经在GPU中
7、广泛应用很长一段时间了。本文将专题讨论基于GPU勺通用高性能计算技术。2、GPU与 GPU计算2. 1 GPU 简介GPU是图形处理单元(Graphics Process in gU nit)的简称,是目前通用计算 机系统中专门从事图形计算的单元, 其应用极为广泛。 图形处理单元主要面向二 维、三维图形的几何变 换、渲染、纹理映射、视频流编码与解码等所涉及的计 算。由于高性能图形计算需求的推动,GPU技术发展极为迅速,其计算性能的发 展速度远超过CPU计算性 能的发展速度,见图1。目前,一般通用CPU勺计算 性能只有10A-20 GFLOPS而GPU勺计算性能已经达到数百 GFLOPS这正是当
8、前 我们将GPU乍为高性能计算设备的主要原因。2.2 CPU计算技术提高处理器的并行处理能力,已经逐步成为提高计算性能的主要技术发展思 路。多线程、多核处理器就是沿着这一技术路线发展的,而GPU中所具有的并行 处理单元结构正可以满足这种技术发展的需要。 因此,在这里GPU被当作一种并行计算设备或高性能计算引擎。与常规CPU不同的是,GPI中大部分晶体管被用来进行数据处理,只有少量 的被用做数据缓存和指令流控制。GPU特别适合运行单程序多数据流的数据并行 处理任务,即主要支持SPM労行计算模式。由于GPU应用的广泛性,利用GPU进行科学计算是一种潜力巨大且性能价 格比很高的解决方案。在常规的微机
9、、工作站或服务器中,通过配置GPU即可大 幅度提高计算机系统的计算能力。而在常规集群计算机系统的节点上配置 GPU一般集群计算节点是不配置图形卡的),可以大幅度提高集群系统的整体计 算性能,并实现低功耗。按计算的通用性从高到低排列,几种处理器芯片的排列顺序为 CPU,FPGA,DSP,GPl而其对应的计算性能排列顺序则相反。通用处理器与专用处 理器的结合,将在系统计算性能与灵活性等方面取得完美的平衡。2. 3 GPU计算产品概述从理论上讲,常规图形处理芯片都可以用作高性能计算设备, 但需要一定开 发工具的支持。而对高性能计算特点进行优化设计的 GPU可以实现更高的计算性 能,获得更高的性能价格
10、比。作为GPCT计算的积极倡导者和技术发展者,NVIDIA公司提供了一套完整的 GPU计算产品线,包括系统产品和全新的开发环境。产品线的中心是基于 GEFORCE系列架构的GPU以及CUDAT发工具包和C编译器。2007年5月,NVIDIA推出了面向高性能计算的 Tesla C870 GPU,专为计 算程序所设计。该GPL产品包含T主频为1. 35 GIIz 的128个并行处理单元, 1.5 GB的专用存储器,其峰值计算性能达到 518 GFLOPS支持IEEE 754单精 度浮点运算(下一个版本将可以支持双精度计算),和CPU孚点单元一样支持各种 高级的浮点操作,GPU内存访问带宽高达76.
11、 8 GB/S,远高于常规CPU勺内存访 问带宽。|Ci加 Gft1 如誉朴 b A 丹副-L.e TbL. S870 GTtr计算僅务斗在GPU基础上NVIDIA提供了计算加速卡、计算工作站和计算服务器系列硬 件产品(图2).Tesla C870 GPU加速卡包含一个 GPU给PC和工作站带来518 GFLOPS计算性能,最大功耗为170 W;Tesla D870 GPU桌面超级计算机包含2 个GPU可通过PCIe接口与标准工作站相连接,提供高达1 TFLOPS勺计算性能, 最大功耗为550 W;Tesla 5870是一款1U的机架式GPU计算服务器,其中可以内 置4-8个GPU提供高达2-
12、4 TFLOPS勺计算性能,而目前具有同样计算性能的 刀片式集群计算机系统即使采用双核处理器也将装满 23个标准机柜。GPI#算服务器在获得最高性能的 同时具有很低的功耗,配置4个GE-FORCE系列GPU 时平均功耗仅550 W(最大功耗800 W)oNVIDIA Tesla GPU计算解决方案在设计上与现行的IT基础架构做到了无缝衔接,具有如下技术性能与特色:支持NVIDIA统一驱动架构;GPU计算产品虽然没有显示接口,但保留了完整的 OpenGL和DirectX功能支持,和NVIDIA Quadro图形卡及GeForce GPU完全相同,所以除了 CUDAff发工具包以外,GPU 计算产
13、品也可以支持基于图形 API的程序;通过一个工业标准 PCI Express x16 插槽与通用计算系统平台连接,数据传输速率最大可以达到 4 GB/s;采用标准工业形式,同时支持桌面式和机架式配置;C编译器,提供一个开发人员所熟 悉的、支持度很好的C语言程序开发环境;可以兼容于Intel/AMD的32与64 位X86微处理器架构。另外,AMD攵购了图形处理芯片厂家ATI,也研制了一种流处理器,作为协处 理器应用于通用计算平台上提供高性能计算加速引擎。3、GPU计算软件开发环境与流编程模式3. 1 CUDA软件开发环境CUDA代表“计算统一设备架构(Compute U-nified Devic
14、e Architecture), 是N V IDIA公司专为GPU计算而发展的一套应用软件开发环境与工具软件。CUD/包含3个主要组件:一个可访问GPI上并行计算资源的编译器,一个计 算专用的运行时驱动程序,以及一套针对 CUDAT发的优化科学计算程序库。CUDA勺核心部分是专门开发的C编译器,它简化了 GPU并行程序的编码, 熟悉C语言的编程人员通过它可以专注于开发并行程序而不是处理图形 API。为了简化开发,CUDA勺C编泽器允许程序员将CPU和GPU勺代码混合记录到一个 程序文件中。在C程序中增加一些简单的代码,通知 CUDAS译器哪些函数 由 CPU处理,哪些为GPU处理。由GPU处理
15、的函数被CUDA译器编译,而CPL处 理代码则由标准C编译器编译。CLTnA软件的层次结构见图3。3 CUDA软件层次结构示囂使用CUDAff发GPU计算应用软件,开发人员使用一种全新的编程模式将并 行数据映射、加载到GPU中, CUDA?序则把要处理的数据细分成更小的区 块,然后并行处理。当GPU计算程序运行时,开发者只需在主机CPU上运行程序,CUDA驱动程序会自动在GPU上载人和执行程序。主机端程序可以通过高 速的PCIExpress总线与GPU进行信息交互。数据的传输,GPU运算功能的启动以及其他一 些CPU和GPU勺交互都可以通过调用运行时驱动程序中的专门操作 来完成,这些高级操作把
16、程序员从手动管理 GPU运算资源中解放出来。采用CUD技术的GPU既可作为灵活的线程处理器来运行,由数 千个计算 程序来调用线程, 协作解决复杂的问题, 也可作为流处理器运行在具体的应用程 序中,其中的各个线程并不进行信息交流。 能够采用CUD敲术的应用程 序可以 使用GPL进行细粒度的数据密集型处理,并使用多核心 GPU进行复杂的粗粒度 任务,例如控制和数据管理。2007年7月,随 着一系列NVIDIA Tesla GPU计算解决方案的发布,NVIDIA 公司宣布提供NVIDIA CUDA 1 。版本的C语言编译器和软件开发套件(SDK),让 软件开发人员利用(:PU开发科学计算应用程序。结
17、合GPU运算技术和CUDA软件 开发环境,为对 运算能力要求极高的计算密集型应用程序提供了极具弹性的大 型并行计算平台。CUDA 1.0内含各种全新C语言编译器最优化功能和各项强化功能,以及众 多新增功能和C语言编码范例。目前,CUD软件开发环境支持32位与64位Linux 操作系统,以及32位Windows XP操作系统。CUDAf发环境还提供了常见的科 学计算程序库,包含快速傅氏变换、BLAS算法库。此外,NVIDIA公司还发布了 一款可让MATLAB程序运用标准GPU函数库加速应用程序运算的插件套件模板。3. 2 流编程模型近年来,随着多媒体特别是音视频处理技术的发展, 流编程模型得以发
18、展并 广泛应用。GPI计算软件开发中的一个重要特点就是流编程模型。在流编程模型中,所有数据都表现为流。这里流指具有相同数据类型的数 据的有序集, 数据类型可以是简单的 ( 如整数、浮点数 ) ,也可以是复杂的 ( 如点、 三角 形、变换矩阵等 ) 。在流编程模型中,数据数组是核心对象。流可以是任意 长度,流的长度越长, 基于流的操作效率就越高。 流编程模型以允许高效计算与 高效通信 的方式构造程序,流的元素可以用数据并行硬件进行并行处理。PeakStream平台公司推出了基于流编程模型的软件开发环境,支持多核处 理器和基于GPU加速器环境下的并行计算软件开发,屏蔽了高性能计算中并行计 算软件开
19、发的复杂性,提高了软件开发的效率。 PeakStream平台 支持Windows和Linux两种主流系统平台,提供 C和C+-+编程接口。基于PeakStream平台的应用程序开发与运行环境如图 4所示,应用程序采 用平台接口与PeakStream虚拟机库函数相联,运行时由虚拟机处理所有与 GPU的交互。流编程技术的研究近年来得到了广泛的关注,一些研究人员发展了流编程语 言以简化基于流编程模型的软件开发工作。目前,斯坦福大学开发的 Brook和 MIT开发的Streamlt这2种流编程语言较为成熟。流编程模型不但适用于GPU计算,也适用于多核并行计算应用软件的开发。4、GPU计算技术应用现状G
20、PI计算技术的发展时间不长,目前的应用主要限于研究领域。下面的一些 实例展示了GPU计算的性能,众多计算密集型的应用程序执行速度通过 GPL加速已经得 到令人瞩目的提升。1) 医学成像:数字层析X射线合成成像。美国马萨诸塞州综合医院在数字层析 X射线合成成像中使用GPL产品进行 X射线透视数据的图像重建计算,计算速度提高了 100倍。原来使用由34台PC服务器组成的集群系统完成计算要花费 20 min,现在使用配备GPU勺PC只要5 min,使医生能很快得到成像图片并给出诊断结果。2) 计算生物学:分子动力学模拟。在分子动力学模拟领域,模拟复杂的分子系统需要耗费大量的时间,并使 用复杂的计算机
21、集群。美国伊利诺伊斯大学的研究人员将 GPU用于计算生物分子、 离子 的相互作用,运算速度比过去采用集群计算机提高了 100倍,使用GPUX作站后实际运算速度达到了 705 GFLOPS3) 计算生物学;神经电路模拟。大脑神经电路模拟需要进行大规模的生物电路模拟,模拟一个神经细胞需 要在1 s内求解ZX10阶方程式。一个神经系统矩阵由成千上万个神经细胞构成, 对一个神经系统的即时模拟需要超过 10 TFLOPS的计算能力。2006年, EvolvedMachines公司采用GPU计算,将神经系统的模拟速度比目前的 X86微处 理器提高了 130倍。4) 科学计算:MathWorks MATLA
22、B.MATLA是一种非常适合于对科学和数学算法进行快速编码的高级语言, 并广泛应用于一系列研究领域,例如信号与图像处理、测量、商业建模与分析、计 算 生物学等。使用(GPU产品加速MATLA有2种方法,第一种不需要改变MAT-LAB 的代码,仅通过插人CUD/FFT或BLAS函数库就可完成。为了进一步加速MATLAB 程序,CUDA中的MATLABI件允许编程人员使用优化过的 CUDA程序来替换某些 关键函 数,这些新的CUDAS数可以被MATLA程序所调用。由于使用了 CUDA 函数,MATLA的使用者可以方便地加速计算而不必重写整个应用程序。图5克希霍夫偏移算法变种I甘算性能4%广萼CPU
23、平台髓试利用了单0収愎CPU图名克希雷夫偏移算法变种II计算性询防宦飞CPU甲自测试利用了 2个双械CPU5、GPU计算技术在地球物理中的应用由于地球物理对高性能计算的巨大需求,一些研究人员已经对GPU计算技术 在地球物理中的应用开展了前瞻性的研究工作。美国休斯顿的Headwave公司是一家专门从事地学数据分析的公司,正在开 发新一代计算平台,支持叠前地震数据的分析与解释。 在平台开发中,充分利用 图形卡的并行计算潜力,以支撑实时工作流程、实时可视化和实时计算。Headwave 公司的解决方案采用了 NVIDIA的GPU计算产品,并使用CUDAa件环境。通过 GPL计算技术的采用,大大加快了地
24、球物理数据分析的速度。Headwave公司设计 了一种经过高度优化的基于小波变换的地震数据压缩与解 压算法,在CPU数据压缩的计算速度大约为10 MB/s,而在GPU上的运行速度超过2 GB/S,性能提 高约200倍。对其他叠前地震数据处理的算法试验表明, GPU勺计算速度是CPU的10 - 70 倍。另外,Headwave公司采用了一种新的远程可视化技术,其中 在服务器端将图像流数据进行智能数字压缩并传输到地球物理学家的客户端, 客户端对图像进行解压并显示,服务器端与客户端之间不传输地震数据而只传输 图像流,从而实现了较低带宽条件下的远程协作。 这里在服务器端采用GPU乍图像压缩,在 客户端
25、采用GPU做图像解压。PeakStream公司采用2种克希霍夫偏移计算算法的变种对 GPL加速性能进 行了试验,取得了最高 达27倍的加速结果。图5和图6分别给出了 2种变种算 法对不同计算规模的测试结果。测试环境为:单路和双路服务器,配备主频为3. 0 GHz的双核至强处理器,内存为 2-4 GB,图形卡为带1 GB显存的ATI R580a CPU版本的测试中,采用多线程充分利用了多核计算性能。最近七八年来,集群计算技术的发展为地球物理技术发展与应用提供了强 劲的计算动力,使得地球物理应用中采用的HPC系统计算能力从每秒百亿次提高 到数万 亿次甚至数十万亿次浮点运算,性能提高了数百至数千倍,
26、性能价格比 也有了大幅度的提高。 然而,地球物理技术的发展对高性能计算提出了越来越高 的需求。集群 计算规模的不断扩大, 使得系统建设、运行与维护成本不断上升, 系统性能的进一步提高也受到了一定程度的制约。面临这种形势,寻找高性 能计算技术发展的新道路成为我们当前需要关注 的一项重要任务。 微电子技术的快速发展, 为高性能计算技术跃上新的台阶奠定 了基础、指明了方向。 其中一个重要 发展方向是基于 FPGA 现场可编程门阵列 ) 的可重构计算技术, 该技术兼具了软件系统的灵活性、 可升级性与硬件系统的高 性能与并行性,在提供高性能计算能 力的同时却具有低能耗的优势,有望替代 集群计算技术成为未
27、来高性能计算的主流体系架构。 但是,可重构计算系统下的 应用程序开发仍然是制约可重构计算技术广 泛应用的主要瓶颈。高性能计算技术发展的另一个重要方向是 GPI计算。充分利用GPU并行处理 能力,可以将GPU乍为加速器为基于CPU的通用计算平台提供高性能的科学计 算能力补充,这样可以在现有通用计算平台的基础上实现高性能价格比的高性能 计算解决方案。地球物理计算的特点,决 定了 GPU计算在未来地球物理计算中 将发挥越来越重要的作用。基于GPU计算平台开发应用软件比基于可重构计算平 台开发应用软件要容易得多,这一点使得 GPU计算技术将更早地广泛应用于地 球物理领域。GPI计算技术与产品已经发展到一定的成熟阶段, GPI产品目前已经具有的高性能以及高性能价格比,使得 我们到了需要尽快将其应用于地球物 理计算中的时候了,而推动这一工作进程的关键仍然是软件的开发与移植工作。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1