论文部分内容阅读
分子模拟计算在当代化学、生物学及制药学等科学领域的研究中扮演着不可替代的作用。通过分子模拟计算可以大大缩短这些学科的研究周期,同时极大地提高其实验成功率。现今主流的分子模拟手段是分子动力学模拟法。尽管在模拟速度上取得了突破性的进展,但是分子动力学模拟计算也有着不可避免的瓶颈问题:原子间近程非键结力(Near Non-bonded Force,NNF)的计算耗时严重。实验表明,这部分计算占据模拟计算总时间的80%以上。加速近程非键结力计算对提高分子动力学模拟计算的整体速度,乃至进一步缩减相关学科的研究周期有着显而易见的价值。
本文分析了NNF计算相关理论和实现方法,提出采用GPGPU思想加速该计算。当代GPU高并行度、多线程的特征特别适合用来并行化NNF计算。本文选取性能卓越的开源分子动力学模拟软件Desmond作为实验对象,分析了使用GPU并行化其NNF计算的可行性,并采用当前在GPGPU方向取得突出成绩的CUDA技术实现了Desmond中NNF计算的GPU加速。本文为NNF计算的GPU加速设计了细粒度和粗粒度两种任务划分方案,分析了两者的利弊,并在更适用于GPU的粗粒度方案基础上为GPU上的NNF计算精心设计了完备的数据通信了存储方案,从而实现了NNF计算GPU并行化,将NNF计算的速度提高到原来的5倍左右。接着本文着手于GPU-NNF计算的性能优化,分别从实现算法和CUDA技术两个层面设计了诸多优化策略,主要包括算法上的计算依赖性优化及CUDA技术上的通信、访存及指令等优化。这些优化策略对提高GPU-NNF计算的速度都有着明显的作用,尤其是为计算依赖性优化设计的三种策略,将计算速度提高了近一倍。实验表明,通过GPU并行化NNF计算,可以得到10以上的加速比,将NNF计算的速度提高了一个量级,同时将Desmond整体的模拟速度提高原来的3~4倍,并且,GPU-NNF有着跟CPU上基本一致的正确性和稳定性。另外GPU-NNF计算的多卡并行性能和双精度浮点计算性能表现也同样优异。