论文部分内容阅读
分子动力学模拟是指对由原子所构成的系统,用计算机模拟原子的运动过程,从而计算出系统的结构和性质,是在物质微观领域评估和预测材料结构和性质的一种重要模拟方法。在实际的模拟计算过程中为了取得更理想的实验数据,往往会扩大模拟计算的体系,延长模拟计算的时间,这就使得模拟计算相当耗时,分子动力学模拟的时间步长通常取几个飞秒,而数百万步的计算机模拟仅对应于实际过程中的大约几个飞秒时间,为了反映真实的宏观行为,其计算量是十分巨大的,可是传统的串行算法以及普通的计算机很难有效的解决这一问题。所以,这些年来快速发展的并行计算技术成为解决高性能数据处理需求问题的有效解决方案。
本文根据并行计算技术的设计方法,对并行计算技术在分子动力学模拟系统中的实现进行了研究。论文的核心工作包括以下内容:
首先,考虑软硬件平台和算法的结合,对SMP集群进行了介绍及分子动力学的算法进行了研究;
其次,针对典型的分子动力学程序LAMMPS程序对SMP集群CPU资源未能充分利用的问题,利用TBB共享存储的特点,提出了基于MPI+TBB的并行编程模型,建立了在节点间采用MPI进程级并行,节点内部采用TBB多线程并行的多层并行模型;
最后,根据分子动力学的计算的瓶颈部分进行了优化:邻接表的构建及力的计算,并对这两部分算法进行了多层实现及对比测试。实验结果表明,不论是单节点的模拟性能还是多个节点的联合的并行性能(从总时间的性能及通信时间),都比以前的并行效果更好。