首页 | 本学科首页   官方微博 | 高级检索  
     

NeuDATool:支持GPU硬件加速和计算机集群跨节点并行的开源中子散射数据分析软件
引用本文:马长利,程 贺,左太森,焦贵省,韩泽华,秦 虹. NeuDATool:支持GPU硬件加速和计算机集群跨节点并行的开源中子散射数据分析软件[J]. 化学物理学报, 2020, 33(6): 727-732
作者姓名:马长利  程 贺  左太森  焦贵省  韩泽华  秦 虹
作者单位:中国科学院高能物理研究所,北京 100049;散裂中子源科学中心,东莞 523803
摘    要:实验势精修是20世纪80年代英国散裂中子源无定型材料组开发的用于分析中子散射实验数据的软件. 实验势精修的目标是根据中子散射数据重建样品的三维原子结构. 在过去的几十年,实验势精修被广泛用于中子散射实验数据分析,为实验用户提供了可靠的分析结果. 但是实验势精修是基于共享内存并行计算(OpenMP)的Fortran程序,不支持计算机服务器集群跨节点并行加速和GPU加速;这限制了它的分析速度. 随着计算机服务器集群的广泛建设和GPU加速技术的普遍使用,有必要重新编写EPSR程序以提高运算速度. 本文使用面向对象的C++语言,开发了一套实现EPSR算法的开源软件包NeuDATool;软件通过MPI和CUDA C实现了计算机集群跨节点并行和GPU加速. 使用液态水和玻璃态二氧化硅的中子散射实验数据对软件进行了测试. 测试显示软件可以正确重建出样品的三维原子结构;并且模拟体系达到10万原子以上时,使用GPU加速可以比串行的CPU算法提高400倍以上的模拟速度. NeuDATool为中子实验用户尤其是对熟悉C++编程并希望定义特殊分析算法的实验科学家提供了一种新的选择.

关 键 词:中子衍射,中子散射,实验势精修,GPU,C++
收稿时间:2020-05-26

NeuDATool: an Open Source Neutron Data Analysis Tools, Supporting GPU Hardware Acceleration, and across-Computer Cluster Nodes Parallel
Chang-li M,He Cheng,Tai-sen Zuo,Gui-sheng Jiao,Ze-hua Han,Hong Qin. NeuDATool: an Open Source Neutron Data Analysis Tools, Supporting GPU Hardware Acceleration, and across-Computer Cluster Nodes Parallel[J]. Chinese Journal of Chemical Physics, 2020, 33(6): 727-732
Authors:Chang-li M  He Cheng  Tai-sen Zuo  Gui-sheng Jiao  Ze-hua Han  Hong Qin
Abstract:Empirical potential structure refinement is a neutron scattering data analysis algorithm and a software package. It was developed by the disordered materials group in the British spallation neutron source (ISIS) in 1980s, and aims to construct the most-probable atomic structures of disordered materials in the field of chemical physics. It has been extensively used during the past decades, and has generated reliable results. However, it implements a shared-memory architecture with open multi-processing (OpenMP). With the extensive construction of supercomputer clusters and the widespread use of graphics processing unit (GPU) acceleration technology, it is now possible to rebuild the EPSR with these techniques in the effort to improve its calculation speed. In this study, an open source framework NeuDATool is proposed. It is programmed in the object-oriented language C++, can be paralleled across nodes within a computer cluster, and supports GPU acceleration. The performance of NeuDATool has been tested with water and amorphous silica neutron scattering data. The test shows that the software can reconstruct the correct microstructure of the samples, and the calculation speed with GPU acceleration can increase by more than 400 times, compared with CPU serial algorithm at a simulation box that has about 100 thousand atoms. NeuDATool provides another choice to implement simulation in the (neutron) diffraction community, especially for experts who are familiar with C++ programming and want to define specific algorithms for their analysis.
Keywords:Neutron diffraction   Neutron scattering   Empirical potential structure refinement   Graphics processing unit   C++
点击此处可从《化学物理学报》浏览原始摘要信息
点击此处可从《化学物理学报》下载全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号