论文部分内容阅读
激光化学反应模拟是利用计算机手段模拟分子在不同参数条件激光照射下发生化学反应的现象,计算机模拟可以得到光化学反应过程,使某些瞬间反应的具体细节得以研究,为实际化学反应提供理论指导。在分子及电子水平上,半经典分子动力学模拟方法可以对激光化学反应模拟进行精确的理论研究,并且与真实的实验极为相似。因此,大分子体系的半经典分子动力学模拟计算方法的研究便成为一个十分必要的研究课题。
为了缩短半经典分子动力学模拟的运算时间,提高运算效率,本文根据并行计算技术的设计方法,对半经典分子动力学模拟的计算模型进行了并行算法的设计与实现。
对半经典分子动力学模拟计算的串行算法进行测试分析,当模拟的粒子C原子个数达到五百个时,vel-verlet模块即力计算模块占整个模拟程序运行时间的96.85%,采用并行计算对该模块进行并行优化是十分必要的,也具有十分重要的意义。
运用OpenMP并行技术,对半经典分子动力学模拟的计算模型进行线程级并行程序设计,并分别在行列划分矩阵和分块划分矩阵下,对并行设计模型进行测试对比分析。在十六个线程参与模拟五百个C原子的情况下,行列划分并行运算时间缩短到原来的1/20,加速比达到了十四倍,并行效率也达到了80%以上;分块划分并行运算时间缩短了两个数量级,加速比达到了六倍,并行效率也达到了30%以上。并且分块划分比行列划分更能缩短时间,为大分子体系的模拟提供了可能性。
运用OpenMP+MPI混合模型并行技术,对半经典分子动力学模拟的计算模型进行混合并行程序设计,并构建SMP集群系统,在线程和进程两级并行程序下进行测试对比分析。在十六颗CPU参与模拟三百个C原子的情况下,并行运算时间为773.716s,加速比达到了六倍,并行效率达到了70%以上。为大分子体系在不同平台下的扩展提供了可能性。
对力计算并行程序进行整体分析,在五百个C原子参与运算的情况下,串行程序中力计算模块占整个程序运算时间的96%以上,而并行程序中有十六个CPU参与运算的情况下,力计算模块降到了整个程序运算时间的33%左右。随着模拟体系的不断增大,并行程序中力计算模块占整个程序运算时间的比例越来越小,这充分表明并行程序设计的重要性和必要性。