一种基于GPU实现粒子间长程相互作用力的快速计算方法

    公开(公告)号:CN118673774A

    公开(公告)日:2024-09-20

    申请号:CN202410819150.9

    申请日:2024-06-24

    IPC分类号: G06F30/25 G06F9/50 G06F119/14

    摘要: 本发明涉及一种基于GPU实现粒子间长程相互作用力的快速计算方法,包括:利用VTK‑m封装技术将CPU和GPU进行适配;通过CPU利用Metropolis‑Hasting算法从傅里叶空间中随机抽取部分傅里叶项;根据从所述傅里叶空间中随机抽取的部分傅里叶项、所述傅里叶空间的电荷分布、以及粒子的带电量得到粒子在傅里叶空间的库仑长程力表达式;构建操作符Map和操作符Reduce;其中,操作符Map用于通过GPU具备的多线程能力,并行的处理多个粒子信息;Reduce操作符用于通过GPU计算大规模粒子信息求和;根据粒子在傅里叶空间的库仑长程力表达式利用操作符Map和操作符Reduce计算粒子的库仑长程力。

    一种基于GPU实现粒子间短程相互作用计算的方法

    公开(公告)号:CN118658539A

    公开(公告)日:2024-09-17

    申请号:CN202410820156.8

    申请日:2024-06-24

    摘要: 本发明属于分子动力学领域,具体涉及一种基于GPU实现粒子间短程相互作用计算的方法,包括:设计Map和Reduce两个操作符;对粒子空间进行网格划分,并预处理;对粒子划分区域;根据粒子编号、位置将粒子分配到GPU的每个线程上;选取S球域中的所有粒子,通过Map和Reduce操作计算S球域的近程力;随机均匀选取CS球域中的部分粒子,通过Map和Reduce操作计算CS球域的近程力;结合S球域的近程力和CS球域的近程力以及加入修正项计算粒子的实际近程力。本发明基于主流GPU架构高效实现了计算粒子短程相互作用时,通过球域划分引入随机受力,大幅减少近邻粒子数量来降低计算复杂度,很好的提升了计算效率。