论文部分内容阅读
金属凝固模拟技术因其相对完备的理论基础,被广泛应用于新材料及其制造加工等重要研究领域。随着科技的进步,金属凝固技术展现出蓬勃的发展趋势。然而,金属凝固模拟的物理试验总是不可避免的存在各类干扰因素,且很多重要的参数也无法通过物理实验获取。本文主要研究分子动力学模拟技术,该技术能对金属凝固的微观结构进行可视化分析,相较于物理模拟试验,其优势在于花费少,用时少,而且金属凝固研究所需的所有重要参数几乎都能模拟。随着并行计算技术的快速发展,分子动力学模拟的应用变得更加广阔。当前,分子动力学模拟的并行化研究主要在CPU或GPU计算平台上实现。但随着对金属凝固模拟精度要求的提高,模拟系统所需的计算规模随之急剧增大,迫切需要更大规模的计算资源才能满足需求。CPU-GPU异构平台作为高性能计算体系结构之一,能够在一般通用计算中兼顾计算效能与编程通用性,大幅提升模拟系统的整体性能,但在面对大规模分子动力学模拟这种具有迭代依赖的应用时,异构资源的负载均衡以及相应的并行优化技术,是进一步提高模拟精度的关键。 本文基于CPU-GPU高性能计算异构体系结构和典型的金属凝固模拟应用,围绕并行处理的关键技术展开研究。重点研究了CPU集群结构和CPU-GPU异构体系结构的分子动力学并行算法和异构系统的负载均衡策略,并针对金属原子间相互作用力计算展开了并行实现研究。主要工作包括: (1)针对CPU集群结构和分子动力学模拟的特点,提出了一种基于多核CPU集群的分子动力学模拟并行算法。重点对分子动力学模拟中计算量占比最高的势函数计算部分进行了并行算法优化设计,并对分子动力学模拟研究工作中涉及的并行虚拟机(PVM)模型程序进行改进,设计了一种应用于大规模分子动力学模拟研究的并行算法。该算法主要是采用MPI与OpenMP程序模型,通过采用区域分解的负载均衡策略,改进了PVM模型的编程模型,扩展了粒子系统的规模。最后,通过物理估算方法证实了模拟结果的准确性。 (2)针对CPU-GPU异构体系结构的特点,提出了一种基于CPU-GPU平台的分子动力学模拟并行算法。通过利用GPU在密集计算领域中的强大能力,再结合多核CPU的特点,有效地缓解了分子动力学模拟系统中GPU因自身内存不足造成的瓶颈问题。通过利用天河1A超级计算机系统作为实验平台,应用该算法成功实现了1千万个金属原子的分子动力学模拟实验,最后对该算法在CPU-GPU异构系统与纯CPU系统中的时间性能进行了分析。结果表明,在合理的资源分配条件下,采用CPU-GPU异构平台比仅采用CPU集群要节省至少6倍的时间。 (3)针对大规模分子动力学模拟时计算资源的负载均衡低效导致算法整体性能下降的现象。提出了一种基于CPU-GPU平台的分子动力学负载均衡策略。该策略根据CPU-GPU体系结构中各核心的计算能力建立起分配模型,利用启发式算法对大规模粒子系统进行任务比例分配,以达到大规模分子动力学模拟并行算法的总执行时间最小化。实验结果表明,所提出的负载均衡策略能有效地提升分子动力学模拟并行算法的综合性能。 (4)针对分子动力学模拟中多体势函数计算需求难以满足的问题,提出了一种基于CPU-GPU结构的分子动力学模拟算法。一方面,多体势模型的子项比对势模型更加多样化,另一方面多势函数的计算量也比对势函数更加复杂,而且多势函数的计算在整个算法中也占据了很高的比例。于是本文对分子动力学模拟中多势函数的计算进行了并行化分析和优化设计实现。最后在天河1A超级计算机系统中实现了基于CPU-GPU异构计算体系下的金属凝固分子动力学模拟。实验表明,该并行算法不仅能提升大规模分子动力学模拟计算的性能,也能提升粒子模拟计算的规模。