CPU_GPU协同并行计算研究综述_卢风顺
动画短片制作的参考文献

以下是一些动画短片制作的参考文献:1. 胡西伟. 基于三维动画与虚拟现实技术的理论研究[D]. 武汉大学,2005。
2. 王欣东. 数字艺术三个发展阶段之时间划分探析[J]. 影视技术,2011(3)。
3. 卢风顺,宋君强,银福康. CPU/GPU 协同并行计算研究综述[J]. 自然科学总论,2011(3).4. Nickolls J,Dally W J. The GPU Computing Era[J]. IEEE Computing Society,IEEE Micro,2010(5-6)。
5. Sanders J,Kandrot E. CUDA by Example-An Introduction to General-Purpose GPU Programming[M]. Addison-Wesley,2010(8-11)。
6. 方旭东. 面向大规模科学计算的CPU-GPU 异构并行技术研究[D]. 国防科学技术大学研究生院,2009。
7. 岳俊,邹进贵,何豫航. 基于CPU 与GPU/CUDA 的数字图像处理程序的性能比较[J]. 地理空间信息,2012(4)。
8. 张舒,褚艳利. GPU 高性能运算之CUDA[M]. 中国水利水电出版社,2009(14-120)。
9. Parent R. Computer Animation-Algorithms and Techniques[M]. Academic Press,2002(2-31)。
10. 徐鹏. 软件开发模型在三维动画模型制作中的应用[D]. 上海复旦大学软件学院,2009。
11. 刘姚新. 基于GPU 的实时绘制算法研究[D]. 重庆大学,2007。
12. Luebke D,Reedy M,Cohen J D,et al. Level of Detail for 3D Graphics[M]. Morgan Kaufmann Publisher,2003(P3-83)。
基于CPU-GPU异构机群的FDTD并行算法加速研究

基于CPU-GPU异构机群的FDTD并行算法加速研究
邵宗有;王昭顺;刘新春
【期刊名称】《系统仿真学报》
【年(卷),期】2013(25)2
【摘要】时域有限差分法(FDTD)求解电磁学中麦克斯韦方程组是科学与工程计算中一个非常重要的算法。
通过对FDTD求解麦克斯韦旋度方程的直接时间域的分析,给出其基于多个GPU组成异构机群系统上的并行加速算法,用OpenCL、CUDA和MPI编程模型实现了并行程序。
在目前的主流NVIDIA和ATI的GPU 平台上,加速的并行FDTD程序相对CPU串行程序和8个CPU核的MPI并行程序,分别获得了超过8倍和1.5倍的加速,并在多个GPU卡上获得了接近线性加速的扩展性能。
【总页数】6页(P235-240)
【作者】邵宗有;王昭顺;刘新春
【作者单位】北京科技大学信息工程学院;曙光公司;无锡城市云计算中心有限公司【正文语种】中文
【中图分类】TP391.9
【相关文献】
1.基于协同计算的FDTD区域分解并行算法研究
2.基于CPU-GPU异构平台的高层结构地震响应分析方法研究
3.基于异构计算的三维FDTD并行算法及其在电磁
仿真中的应用4.异构机群系统上基于多轮分配方式的近似串匹配并行算法5.基于CPU-GPU异构并行的MOC中子输运计算并行效率优化研究
因版权原因,仅展示原文概要,查看原文内容请购买。
基于GPU的并行计算模型研究

基于GPU的并行计算模型研究近年来,大数据、人工智能、深度学习等新兴技术的发展给计算机领域带来了极大的发展机会,而高性能并行计算是其基石。
GPU并行计算模型在此背景下迅速崛起,成为高性能并行计算的重要手段。
本文将围绕基于GPU的并行计算模型进行研究探讨。
一、GPU并行计算模型的基本原理GPU并行计算模型是一种基于CPU和GPU协同工作的计算模型。
GPU(Graphics Processing Unit,图形处理单元)是一种专门用于图形处理的处理器,它是CPU的辅助处理器,能够高效地并行处理大量数据。
GPU的发展始于图形学,但是,在计算机科学领域,GPU被更广泛地应用于高性能计算、深度学习等领域。
GPU并行计算模型基于这样一种思想:将任务分为多个独立的子任务,将这些子任务分配给不同的处理器核心同时处理,从而实现高效的并行计算。
与传统的串行计算相比,GPU并行计算模型具有更高的效率和更快的速度。
二、GPU并行计算模型的应用领域GPU并行计算模型被广泛应用于以下几个领域:1、高性能计算领域。
GPU并行计算模型被广泛应用于高性能计算中,常用于处理大数据、科学计算等任务。
因为GPU的高速并行处理能力,使得GPU并行计算模型在高性能计算领域具有很大潜力,能够极大地提高计算效率。
2、深度学习领域。
GPU并行计算模型因其高效的并行处理能力而被广泛应用于深度学习领域。
如今,深度学习在计算机视觉、语音识别、自然语言处理等领域表现优异,其中,GPU的并行计算能力发挥了重要作用。
3、虚拟现实领域。
虚拟现实技术需要高性能的计算和图形处理能力,GPU并行计算模型可提供高效的虚拟现实应用支持,如虚拟现实游戏、虚拟现实教育等领域均得到了广泛应用。
三、GPU并行计算模型的优势和挑战GPU并行计算模型的优势在于高效的并行处理能力。
由于GPU被设计为处理大量数据的并行处理器,因此其比CPU更适合运行并行任务。
GPU并行计算模型在处理图像、声音等数据密集型任务中,具有更快的计算速度和更好的效率。
CPU+GPU异构模式下并行计算效率研究

Re e r h o f c e y o r le m pu i n s a c n Ef inc f Pa a l lCo i tng i CPU +GPU b i o Hy r d M de
计 算 机 与 现 代 化 JS A J Y I N A H A IU N I U X A D I U
总第 2 1期 0
C U+G U异 构 模 式 下并 行计 算 效 率 研 究 P P
蔡镇 河 , 张 旭, 栾江霞
( 门市美亚柏科信 息股份有 限公 司, 厦 福建 厦 门 3 10 ) 60 8 摘要: P C U+G U的异 构模 式由于比传统的超算 架构 更加便 宜和更加 环保 、 P 低碳 , 所以得到 了越 来越 多的关注 , H C 在 P
而目前全球的top500的顶级水平也就是千万亿的水平可见差距相当明显高性能计算需要进一步发展需要进一步提高计算核心数量但是摆在人们眼前的难题是单节点的cpu核心数量提高有限而且cpu的能耗也比较高所以为了追求更高的计算能力就需要购买更多的节点通过集群的方式0 2 0 -150 10 .4 5 2 1 )50 8 -4
求 也 越来 越 高 。虽然 , 目前世界 上 最先进 的超级 计 算
机 已经达 到 了千 万 亿 Fo ss的级 别 , 是 由于 很 l / p 但 多 科 学领 域 的研 究 已经 越来 越微 观化 , 比如 生 物 学 、 流体 力学 、 气 动力 学 等 , 且 在 数 据 的 展 示 时 也 越 空 并 来 越 注重 可视 化处 理 , 比如断层 分析 、 拟风 洞 试验 、 模
面向大数据高通量计算的CPU-GPU并行优化技术研究

面对大数据高通量计算的CPU-GPU并行优化技术探究摘要:随着互联网技术的不息进步,数据量呈现爆炸性增长,在海量数据的处理过程中,高速计算能力的提升是至关重要的。
本文针对大数据高通量计算对计算能力的要求,提出了CPU/GPU并行优化技术。
起首介绍了大数据高通量计算的应用领域和背景,然后分别从数据划分、数据通信、并行计算以及算法优化等方面探讨了CPU/GPU并行优化的技术方法,包括任务并行、数据并行、混合并行等,解决了数据规模大、计算量大、时间效率低下等问题。
最后,通过试验测试验证了此方法的有效性,提高了计算速度和性能等指标。
关键词:大数据,高通量计算,CPU/GPU并行优化,任务并行,数据并行,混合并行1. 引言随着互联网技术、人工智能技术和物联网技术的不息进步和应用,大数据处理呈现出爆炸式增长的态势,对计算能力提出了更高的要求。
近年来,CPU/GPU并行计算技术得到了广泛的应用,其中GPU作为一种高效能的加速器,在大数据高通量计算方面具有不行替代的优势,通过其高并行的处理能力来解决数据量大、计算量大、时间效率低下等问题。
本文针对大数据高通量计算的需求,探究了CPU/GPU并行优化技术,以提高计算速度和性能。
2. 大数据高通量计算的应用领域和背景随着数据量的不息增大,大数据高通量计算得到了广泛的应用。
在金融、医疗、教育、电商以及企业的生产与管理等多个领域,都需要对大量数据进行快速计算和分析。
例如,在金融领域,需要对来往数据进行快速处理,做出智能决策;在医疗领域,需要对大量病例数据进行统计和分析,为医生提供可靠的诊断依据;在电商领域,需要对海量商品数据进行分析和分类,实现个性化推举等。
3. CPU/GPU并行优化技术的方法针对大数据高通量计算的需求,我们提出了一种基于CPU/GPU并行优化技术的方法。
主要包括任务并行、数据并行和混合并行等几个方面。
3.1 任务并行任务并行是指将一个大的任务分解成若干个小的任务,分别在不同的CPU核心和GPU流处理器上运行,使不同的任务可以同时执行,达到加速处理的目标。
水动力模型分布式cpu-gpu异构并行计算技术

水动力模型分布式cpu-gpu异构并行计算技术水动力模型是研究水体运动和变化规律的数学模型,其计算复杂度往往非常高,需要大量的计算资源来进行模拟和预测。
为了提高计算效率,分布式CPU-GPU异构并行计算技术成为了水动力模型计算的重要方法之一。
本文将详细介绍分布式CPU-GPU异构并行计算技术在水动力模型中的应用。
首先,我们先来了解一下分布式计算和GPU并行计算的基本概念。
分布式计算是指将任务拆分成多个子任务,并由多台计算机同时进行计算,以提高计算效率。
而GPU并行计算是指利用GPU(图形处理器)的多核心架构进行计算,同时处理多个数据和任务,并行处理大规模的计算任务。
将分布式计算和GPU并行计算技术结合起来,就形成了分布式CPU-GPU异构并行计算技术。
在这种技术中,任务会被分发到多台计算机上,并且每台计算机上都利用GPU进行并行计算。
相对于传统的单CPU计算,分布式CPU-GPU异构并行计算技术具有更高的计算效率和更快的计算速度。
在水动力模型中,分布式CPU-GPU异构并行计算技术的应用可以从以下几个方面来描述。
首先,分布式CPU-GPU异构并行计算技术可以加速水动力模型的计算速度。
由于水动力模型的计算复杂度很高,单台计算机的计算能力往往无法满足需求。
通过使用分布式CPU-GPU异构并行计算技术,可以将任务拆分成多个子任务,并由多台计算机同时进行计算,大大提高计算速度。
而且,GPU并行计算的特点使得其能够用更短的时间处理更多的计算任务,进一步提高计算效率。
其次,分布式CPU-GPU异构并行计算技术可以处理大规模的水动力模型。
水动力模型往往需要处理大量的数据和复杂的计算任务,传统的计算方法往往计算时间长且效率低下。
而分布式CPU-GPU异构并行计算技术可以利用多台计算机和GPU的高速并行计算能力,同时处理多个数据和任务,有效降低计算时间,提高计算效率。
此外,分布式CPU-GPU异构并行计算技术还可以实现水动力模型的实时计算和预测。
基于GPU的并行计算技术研究与应用
基于GPU的并行计算技术研究与应用第一章:引言随着计算机技术的不断发展,GPU并行计算技术已经成为当前计算机领域中的一个重要的研究领域。
GPU并行计算技术是指采用现代GPU 进行高效的并行计算,这种技术可以加速许多计算密集型应用的运算速度。
本文主要探讨了GPU并行计算技术的研究和应用。
第二章:GPU的原理GPU(Graphics Processing Units),又称“显卡”或“图形处理器”,是可以加速图形和视频处理等应用程序的专门设备。
与CPU 不同,GPU在其设计上采用了许多乘法器和加法器,以两个4字节的浮点数的乘法和加法为例,CPU需要执行7个时钟周期,而GPU只需要一个时钟周期就可以完成。
因此,GPU在处理并行计算时可以比CPU更加高效地完成任务。
第三章:GPU并行计算的优势GPU并行计算技术的优势主要体现在以下几个方面:1. 高效性:由于GPU在处理并行运算时具有高效率和高吞吐量,因此,它能够快速地处理大量的数据和运算任务,可以提高应用程序的运行速度。
2. 平台独立性:GPU并行计算技术可以独立于任何特定的平台运行,因此可以在不同的操作系统和硬件环境中使用。
3. 易于编程:GPU并行计算技术可以使用标准的编程语言进行编程,而且编程接口比较简单,容易上手。
第四章:GPU并行计算技术的应用GPU并行计算技术的应用非常广泛。
以下是几个典型应用:1. 计算机视觉:用于图像和视频处理,例如对象识别、图像合成等。
2. 游戏开发:由于游戏中需要进行大量的图形和物理计算,因此GPU并行计算技术可以在游戏中提高渲染速度、物理引擎和粒子系统等。
3. 金融、科学和工程:GPU并行计算技术可以使用在计算机模拟、预测和数据分析等领域,例如气象、金融、生物技术和机械工程等。
第五章:GPU并行计算技术的挑战GPU并行计算技术的应用依然存在一些挑战,主要包括以下几个方面:1. 编程难度:与CPU相比,GPU在编程上要求更高的技能水平和更好的并行计算技术理解。
并行计算综述
图形处理器的通用计算研究综述摘要多年来计算机图形处理器以大大超过摩尔定律的速度高速发展。
图形处理器的发展极大地提高了计算机图形处理的速度和图形质量,并促进了与计算机图形相关应用领域的快速发展,与此同时,图形处理器绘制流水线的高速度和并行性以及近年来发展起来的可编程功能为图形处理以外的通用计算提供了良好的运行平台,这使得基于GPU的通用计算成为近两三年来人们关注的一个研究热点。
本文从介绍GPU的发展历史及其现代GPU的基本结构开始,阐述GPU用于通用计算的技术原理,以及用于通用计算的主要领域和最新发展情况。
最后,展望了GPU应用于通用计算的发展前景,并从软件和硬件两方面分析了这一领域未来所面临的挑战。
关键字GPU;GPGPU;CUDA;通用计算;可编程性1引言计算机图形处理器GPU(Graphics Processing Unit)具有极高计算性能和相对廉价的成本,以超过摩尔定律的速度更新硬件,从2003年后在通用计算领域图形处理器GPGPU (General-Purpose Computing Graphics Processing Unit)取得长足发展。
在学术界人们研制了以下典型处理器芯片:斯坦福大学的Imagine、Merrimac及国防科学技术大学的飞腾FT64[1],而飞腾处理器已成功应用于“天河一号”超级计算机的设计中。
在工业界Nvidia[6]、AMD等公司持续更新其GPU硬件产品,利用推广软件的方式来扩大各自硬件产品的生态圈,目前Nvidia在通用计算领域中成果显著。
国内吴恩华教授[2-3]总结了2004年之前GPU的发展历史和现代GPU基本结构,阐述了通用计算的技术原理、软件工具及详细的发展之路,总结了各种应用领域的进展,如流体模拟、代数计算、数据库应用、频谱分析等。
国外Owens研究团队综述了2008年之前GPGPU 的硬件及软件方面的应用进展[4-5],分别从GPU体系、计算编程模型、软件开发环境和编程语言等方面作了详细介绍;然后重点分析了GPU计算中的关键技术和算法问题。
高性能计算使用GPU和多核CPU进行并行计算
高性能计算使用GPU和多核CPU进行并行计算随着时间的推移,计算机硬件和软件技术的迅速发展,高性能计算已经成为了科学研究和工业生产中的重要组成部分。
尤其是在大数据分析、人工智能、计算机视觉等领域,高性能计算的需求更是日益增长。
在高性能计算中,GPU和多核CPU作为并行计算的主要方式,其应用范围也越来越广泛。
GPU是图形处理器,其设计初衷是为了提高计算机在图形渲染方面的性能。
但是,由于其高并行计算的特点,GPU也被广泛用于科学计算、数据分析等领域。
与传统的CPU相比,GPU可以通过数据并行的方式同时执行多个指令。
这使得在某些应用场景下,GPU可以比CPU 提供更高的计算性能。
多核CPU也是并行计算的另一种方式。
与GPU相比,多核CPU通常拥有更高的时钟频率和更多的缓存,可以更好地支持单线程的应用程序。
但是,当需要执行多线程应用程序时,多核CPU的性能不如GPU。
GPU和多核CPU的并行计算方式各有优缺点。
在实际应用中,我们需要根据应用场景选择合适的并行计算方式。
例如,GPU适用于并行计算密集型任务,而多核CPU适用于更为通用的任务。
同时,我们还需要考虑如何有效地利用GPU和多核CPU的并行计算能力。
在使用GPU进行并行计算时,需要将计算任务分解成较小的任务,并将其分配到各个GPU核心上。
这可以通过诸如CUDA、OpenCL等GPU编程框架来实现。
而在使用多核CPU进行并行计算时,可以使用诸如OpenMP、MPI等多线程编程框架。
然而,并行计算也存在一些挑战。
例如,在并行计算中如何处理数据的一致性、如何避免死锁等问题都需要仔细地考虑。
此外,在使用GPU进行并行计算时,由于GPU通常拥有大量的核心,其能耗也相对较高。
因此,如何平衡性能和能耗也成为了一个需要解决的问题。
综上所述,GPU和多核CPU的并行计算技术在高性能计算中具有重要的作用。
在实际应用中,需要根据应用场景选择合适的并行计算方式,并且合理地利用并行计算技术,以便提高计算性能和效率。
GPU\CPU协同并行计算提升叠前偏移成像效率
2 实际数据应用
实 际 数 据 应 用 测 试 的硬 件 环 境 为 G U N ii P v a d T s 00 el 17 ,内存 1G P 个 数6 ,c u a 6 。G U 台 P 服务器 数
量6 台,双C U,四核 ,主频2 G z P . H, 5 内存每 台服务 器2G 4 。集群共6 P 节点 ,每个节点发送4 个G U 个计
用和效果对 比,本文志在力求 阐明,G前时间偏移 的效率 ,并
且有 益于 油气勘探 地震资 料处理技 术 的发展 。
图1 GP U个数 与运 算速度 的 关 系图
1 G uC u 同并行 的特点和优势 P \P 协
G UC U 同并 行计 算 ( P C),可 以把 原 P \P 协 CP 来超 级计 算机 要做 的事浓 缩 到一个 普通 的 台式 工作 站或 机架 服务器 中去 ,电耗也大 大降低 。 同时 ,最 新 的 TO P IG U,拥 有 1亿 个 晶 体 管 , 4 共 有 20 核 ,一块 这 样 的G U 的浮 点 运 算 性 能 4个 P卡 可 以达 到 1 亿次 每秒 ( fp ),而 现在 一颗 四核 万 T os l 的C U只有 每秒 70 P 0 亿次 浮点计算 。 单 个G UC U 同并行 计算 单元 与 目前应 用 的 P \P 协 单 个C U 相 比 ,叠 前 时间偏 移运 算 速度 提高 10 P核 0— 30 以 上 。 而 1 G UC U 运 算 速 度 等 于 6— 0倍 个 P \P 的 0 8个 单 核 C U 0 P 的运 算 速 度 。如 图 l 示 ,我们 可 以 所
张 颢 , 陈军 芳 , 张 磊
( 汉 油 田分 公 司物 探 研 究 院 ,湖北 武汉 4 0 3 ) 江 3 0 5 摘 要 :由于 图形 处理 芯片G U ( rpiPoeigUnt 有 强大 的通 用计 算 能力 , 球物 理领域 P G ahc rcsn i)拥 s 在地 进 行 G U计 算 的应 用研 究 日益 受到 关 注 。与通 常 情 况下 个人 计 算机 ( C,Pr nl o ue )或 者P P P es aC mpt o r C集 群 所 用的 叠前 时 间偏 移相 比 ,本 文方 法可 以较 大地提 高计 算效 率 ,从 而在地 震资料 处理 的 实际工作 中显 著 地 节约计 算成本 和 维护 费 用。通过 实际应 用 实例表 明 ,基 于G U\ P P C U协 同并行 计算 ,能 够适 应 目前石 油 勘探 中大规模 的计算 需求 ,提 高生产 效率 ,因此值得将 该 方法拓展 并将 其推 广应 用 于油气勘探 工作 中。 关 键 词 :图形 处理 芯 片GP U;非对称走 时 叠前 时 间偏 移 ;协 同并行
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第38卷 第3期2011年3月计算机科学Computer ScienceVol.38No.3Mar 2011到稿日期:2010-04-13 返修日期:2010-07-15 本文受国家自然科学基金(40505023)资助。
卢风顺(1982-),男,博士生,CCF会员,主要研究方向为新型体系结构下的并行算法研究、大型数值模拟等高性能计算应用,E-mail:lufengshun@nudt.edu.cn;宋君强(1962-),男,研究员,博士生导师,主要研究方向为数值天气预报、高性能计算等。
CPU/GPU协同并行计算研究综述卢风顺 宋君强 银福康 张理论(国防科学技术大学计算机学院 长沙410073) 摘 要 CPU/GPU异构混合并行系统以其强劲计算能力、高性价比和低能耗等特点成为新型高性能计算平台,但其复杂体系结构为并行计算研究提出了巨大挑战。
CPU/GPU协同并行计算属于新兴研究领域,是一个开放的课题。
根据所用计算资源的规模将CPU/GPU协同并行计算研究划分为三类,尔后从立项依据、研究内容和研究方法等方面重点介绍了几个混合计算项目,并指出了可进一步研究的方向,以期为领域科学家进行协同并行计算研究提供一定参考。
关键词 异构混合,协同并行计算,GPU计算,性能优化,可扩展中图法分类号 TP301 文献标识码 A Survey of CPU/GPU Synergetic Parallel ComputingLU Feng-shun SONG Jun-qiang YIN Fu-kang ZHANG Li-lun(College of Computer Science,National University of Defense Technology,Changsha 410073,China) Abstract With the features of tremendous capability,high performance/price ratio and low power,the heterogeneoushybrid CPU/GPU parallel systems have become the new high performance computing platforms.However,the architec-ture complexity of the hybrid system poses many challenges on the parallel algorithms design on the infrastructure.Ac-cording to the scale of computational resources involved in the synergetic parallel computing,we classified the recent re-searches into three categories,detailed the motivations,methodologies and applications of several projects,and discussedsome on-going research issues in this direction in the end.We hope the domain experts can gain useful information aboutsynergetic parallel computing from this work.Keywords Heterogeneous hybrid,Synergetic parallel computing,GPU computing,Performance optimization 1 引言当前,高性能计算机体系结构正处于变革期,各种新型体系结构不断涌现。
采用通用多核微处理器与定制加速协处理器相结合的异构混合体系结构成为构造千万亿次计算机系统的一种可行途径。
甚至有专家预言,今后的高性能计算平台将会成为以异构混合体系结构为主的格局。
在众多异构混合平台中,基于CPU/GPU异构协同的计算平台具有很大的发展潜力。
正由于GPU所具有的强劲计算能力、高性能/价格比和高性能/能耗比,在当今追求绿色高性能计算的时代,GPU的计算优势受到越来越多的关注。
除专业图形应用外,GPU已用于大量的通用计算问题,并形成了GPU通用计算研究领域,即GPGPU(General-purposecomputing on graphics processing units),又称GP2U。
鉴于GPU在通用计算领域的优异表现,Macedonia[1]断言GPU将成为未来计算的主流,甚至还有人将GPU的概念解释为General Computing Unit。
GPU和CPU在设计思路上存在很大差异:CPU为优化串行代码而设计,将大量的晶体管作为控制和缓存等非计算功能,注重低延迟地快速实现某个操作;GPU则将大量的晶体管用作ALU计算单元,适合高计算强度(计算/访存比)的应用[2]。
在协同并行计算时,CPU和GPU应各取所长,快速、高效协同地完成高性能计算任务。
另外,除管理GPU计算任务外,CPU也应当承担一部分科学计算任务。
以“天河一号”巨型机为例,其计算结点采用IntelXeon E5540/E5450通用CPU和AMD ATI Radeon HD4870x2加速GPU,计算阵列的峰值性能为214.96万亿次,加速阵列的峰值性能为942.08万亿次。
如果不发挥CPU的计算能力,则相当于损失了一台200万亿次的高性能计算机。
因此,需要充分挖掘CPU和GPU的计算潜能,使其达到高效协同的计算效果。
新型异构混合体系结构对大规模并行算法研究提出了新的挑战,迫切需要深入研究与该体系结构相适应的并行算法。
针对CPU/GPU异构混合体系结构的高性能计算平台,研究相应的协同并行计算技术,设计并实现大型科学及工程计算问题的新型并行算法,具有重大的理论和实际意义。
2 CPU/GPU协同并行计算研究进展自nVidia公司在1999年提出GPU概念以来[3],随着半·5·导体技术的不断发展,芯片上集成的集体管数目不断增加,GPU峰值性能一直以超过摩尔定律的速度增加,平均每6个月翻一番。
GPU具有浮点计算能力强、带宽高、性价比高、能耗低等优点,目前已被广泛用于图形处理以外的应用中,如数值天气预报[4]、地质勘探[5]、代数计算[6,7]、分子动力学模拟[8]、数据库操作[10]、频谱变换和滤波[11,12]等。
特别是统一渲染架构发布以来,越来越多的科研人员(包括无任何图形API编程经验的科研人员)开始GPU非图形应用的研究,逐渐形成了新的GPGPU研究领域。
对于GPGPU领域的研究工作,文献[2,13-14]等优秀的综述已从GPU的发展历史、体系结构、编程模型、软件环境和成功案例等方面进行了系统阐述。
本文仅从CPU/GPU协同并行计算的角度对国内外的研究工作进行回顾和分析。
2.1 协同计算概念及GPGPU研究分类CPU/GPU协同并行计算,其关键在于如何实现两者的高效“协同”。
从国内外大量的研究工作来看,“协同”分为两个层次:1)CPU仅负责管理GPU的工作,为GPU提供数据并接收GPU传回的数据,由GPU承担整个计算任务;2)除管理GPU外,CPU还负责一部分计算任务,与GPU共同完成计算。
第一层次的“协同”比较简单,CPU与GPU间分工明确,但浪费了宝贵的CPU计算资源。
如IBM的Power7处理器具有32个核心,因此CPU也具有强大的计算能力。
可见,第二层次的“协同”是未来协同并行计算的发展方向。
目前,“协同并行计算”还没有统一的定义。
鉴于许多文献[4,8,15-16]将GPU视为加速部件或协处理器,刘钦等[5]将其定义为CPPC(co-processing parallel computing)。
在异构混合并行系统中,CPU和GPU都是并行计算资源,只是体系结构及计算方式不同,无须区分两者的主从关系。
因此,本文将“协同并行计算”定义为“synergetic parallel computing”。
CPU/GPU异构机群的组织形式通常是将一定数量的多核CPU和GPU封装到一个节点内(如图1所示),继而由若干节点互联成异构机群。
将CPU/GPU异构机群的计算资源简单抽象为三元组PG=[NC,CC,GC],各分量分别表示节点数目、每个节点的CPU数目和GPU数目;如果该机群存在节点间异构特性,那么PG定义为[NC,CC[NC],GC[NC]],各分量分别表示节点数目、相应节点的CPU数目和GPU数目。
根据参与协同计算的CPU和GPU硬件资源规模,目前国内外GPGPU研究可以划分为三类:GPU通用计算研究(PG=[1,0,G>0])、CPU/GPU协同计算研究(PG=[1,C>0,C>0])以及CPU/GPU协同并行计算研究(PG=[N>1,C>0,G>0])。
图1 节点内CPU/GPU组织形式2.2 GPU通用计算研究GPU通用计算研究(PG=[1,0,G>0]),其计算规模限于单个节点,计算任务完全由GPU承担,因此该“协同”属于第一层次。
由于GPU硬件以及软件开发环境的限制,早期的GPGPU研究[7,17]必须紧密结合GPU硬件细节并借助图形API来实现GPGPU程序。
随着统一架构GPU及CU-DA[18]和Brook+[19]等编程模型的出现,越来越多的领域专家利用GPU加速其具体应用问题。
Liu等[20]基于CUDA研究分子动力学模拟问题;Cevahir等[21]利用GPU求解稀疏对称线性系统,并实现了混合精度的多GPU共轭梯度求解器;Chen等[22]基于CUDA实现了可支持更多的元素类型的快速排序算法,并针对GPU体系结构进行了性能优化;Igual等[22]基于GPU研究了线性代数和图像处理问题,并总结出数值算法在GPU上获得高性能应具备的特点。
2.3 CPU/GPU协同计算研究CPU/GPU协同计算研究(PG=[1,C>0,C>0]),其计算任务由CPU和GPU两者共同完成,属于第二层次的“协同”,但是协同计算规模较小,仅限于单节点。
方旭东[24]基于CPU/GPU异构平台,研究了矩阵乘、LU分解和Mygrid等科学计算程序的新型并行算法,提出了3种任务划分模型及4种GPGPU程序优化策略;在单节点规模下,CPU/GPU协同并行版本的矩阵乘、LU分解和Mygrid等分别获得了CPU版本133.8倍、88.86倍和15.06倍的性能加速。