论文部分内容阅读
光化学反应是研究光与物质相互作用所引起的化学效应的化学分支学科。目前,在光化学反应物理实验中,是通过反应的中间产物来推断反应的过程,不能直接观察反应过程,且用于物理实验的飞秒激光仪价格昂贵,不利于光化学反应研究的推广。利用计算机技术模拟激光脉冲诱导光化学反应,不仅可以在原子水平上观察化学反应,追踪分子的变化细节,为实验提供激光控制化学反应的直接信息,且可以用来研究光化学反应的路径,过渡态,反应机理等十分关键的问题。
为了提高光化学反应模拟的效率,本文对半经典分子动力学模拟系统中的并行算法的实现进行了研究。该论文的核心内容包括一下内容:
首先,根据数据特征研究了基于带状划分的大规模矩阵乘并行算法,并将该算法用FORTRAN90编程语言和基于消息传递接口(Message Passing Interface,简称MPI)并行编程环境在SMP(Symmetric Multiprocessor)机群系统上实现。在实现过程中,考虑到实际应用中矩阵不能平均分配给启动的进程数的情况,本文采用了一种静态的数据分配方法,可以充分利用资源。考虑到SMP集群的多级存储的特征,利用OpenMP(Open Multi-processing)共享存储和MPI的混合编程模型改善了矩阵乘并行计算在SMP集群上的计算性能。
然后,将矩阵乘并行计算应用到激光诱导光化学反应模拟中,有效的缩短了模拟计算时间,提高了计算效率。
最后,采用MPI+OpenMP混合模型设计并实现光化学反应双层并行模拟算法,上层基于MPI实现节点间的原子分解并行,下层基于OpenMP实现节点内的多线程矩阵并行乘法。在SMP集群中测试表明,模拟大分子体系光化学反应并行效率可达60%以上。