基于异构平台的N体问题树结构算法高效并行实现

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:swatsee
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
N体问题是描述已知初始位置、速度和质量的多个物体在经典力学情况下的相互作用和后续运动,主要应用于天体力学、分子动力学和流体动力学等领域。随着多核CPU和众核加速器或协处理器异构平台的发展,N体问题基于异构平台的并行加速逐渐成为国内外高性能领域的研究热点。  目前,较具影响力的N体问题模拟程序都是国外软件,为了满足宇宙学、分子动力学等领域的大规模模拟需求,本文借助最新的异构硬件平台,实现了一套高效并行的N体问题计算程序。  首先,本文对N体问题的经典树算法—BH算法进行了研究,实现了BH算法的串行程序。其次,在研究了多核CPU和MIC异构硬件平台的基础上,以MPI和OpenMP混合编程模型实现了BH算法的并行,并用正交递归二分法(ORB)对粒子空间区域进行划分,实现了进程之间负载均衡。然后,对CPU并行程序的重要模块采用抽样算法、cache优化等方式进行了优化。最后,对优化后的程序进行MIC加速,针对MIC硬件架构特征,以构建作用力节点列表等方式对算法进行了改进,并采用offload分载模式的CPU和MIC协同计算的方法对程序进行了加速。  在多核CPU节点上,优化后的程序性能是优化前的2倍以上;在多核CPU+MIC节点上,程序以CPU和MIC协同计算的模式能获得多核CPU节点上性能的1.7倍。并且,CPU和MIC协同计算的程序具有较好的扩展性,计算粒子规模达到上亿时,可扩展到32个节点共4480核心(640个CPU核心和3840个MIC核心)。
其他文献
医学图像分割技术能够自动或半自动描绘出医学图像中的解剖结构和其它感兴趣的区域,从而有助于诊断,所以它在生物医学图像的应用中起着非常重要的作用。虽然己研究出不少边缘提
如何高效、低成本地开发高质量软件一直是计算机软件领域重点研究的问题。软件复用被认为是解决该问题的既实用又有效的方法。构件技术作为支持软件复用的核心技术也因此备受
该文对中文网页自动分类技术这一具有重要理论意义和广阔应用前景的课题进行了研究和探索,主要的研究成果有:(1)影响分类器性能的关键因素的定量分析:针对影响分类器性能的两
词义消歧一直是计算语言学领域的一个重要研究课题,其对机器翻译、信息检索、内容和主题分析、文本分类、语音识别等领域有着重要的影响。本文以北京大学计算语言学研究所开发
草图识别作为草图交互系统的关键所在已成为人机交互研究中的一个热点,但手绘草图所固有的模糊性及用户手绘输入的随意性成为笔式交互走向实用化的主要瓶颈,这要求手绘草图识别
信息技术与互联网行业的快速发展带来了信息过载的问题,在大数据时代,推荐系统的出现成为一种必然,因此,决定推荐效果的推荐算法已经成为学术领域中的研究热点。推荐系统不仅仅应
出租车作为一种重要的交通工具,为人们的出行提供了便利。随着人口规模的扩张以及流动性的增大,出租车服务的供求失衡问题日益凸显。针对这一问题,一方面需要政策、经济等方面的
软件设计质量的优劣,可以通过度量进行评价。本文的工作就是要通过度量,发现软件设计(特别是面向对象程序)中可能存在的质量问题,并提出改进意见。我们将面向对象软件设计(Java
软件复用是提高软件开发效率和质量的一条现实可行的途径,软件构件库是对可复用软件构件资源进行管理,对软件构件的复用过程提供支持的基础设施。多年来,软件构件库的研究已经积
随着大量的数据保存于空间数据库中,人们希望发现一些在某些共同特征上相似的组,因而聚类分析已经成为数据挖掘的一个活跃的研究领域。 然而,大部分现有的聚类算法忽视了现实