CN114970301B - 一种基于国产众核架构的分子动力学计算方法 - Google Patents
一种基于国产众核架构的分子动力学计算方法 Download PDFInfo
- Publication number
- CN114970301B CN114970301B CN202210902025.5A CN202210902025A CN114970301B CN 114970301 B CN114970301 B CN 114970301B CN 202210902025 A CN202210902025 A CN 202210902025A CN 114970301 B CN114970301 B CN 114970301B
- Authority
- CN
- China
- Prior art keywords
- core
- molecular dynamics
- slave
- calculation
- architecture
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/25—Design optimisation, verification or simulation using particle-based methods
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C20/00—Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
- G16C20/50—Molecular design, e.g. of drugs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/14—Force analysis or force optimisation, e.g. static or dynamic forces
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Chemical & Material Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Medicinal Chemistry (AREA)
- Geometry (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Pharmacology & Pharmacy (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Crystallography & Structural Chemistry (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于国产众核架构的分子动力学计算方法,属于药物筛选技术领域,所述方法包括针对国产架构的超级计算机修改分子动力学软件的编译方法与安装、通过信息传递接口实现分布式并行运行、充分利用从核资源,实现利用从核计算非键力、利用从核进行PME算法并行实现以及优化数据组织方式,结合国产众核架构的超级计算机的向量化技术进行加速,实现在国产众核架构的超级计算机上进行高精度、高速度的分子动力学模拟。
Description
技术领域
本发明属于药物筛选技术领域,特别涉及一种基于国产众核架构的分子动力学计算方法。
背景技术
分子动力学是一套分子模拟方法,利用计算机构建粒子模型,通过模拟粒子的微观结构和动态轨迹,从而获得粒子体系的物理化学数据。分子动力学模拟的具体流程如图1所示,包括构建局部坐标环境、根据一定温度下玻尔兹曼分布生成速度、计算作用于粒子上的力、求解牛顿运动方程、对结果进行统计分析。分子动力学模拟主要包括两种方法计算模拟:
1、量子力学方法。不忽略核子的量子效应等微观层面的影响,从头进行计算,相对于实验手段无法研究的过程。
2、经典分子动力学(MD)、蒙特卡罗、分子力学模拟方法,不考虑微观层面的影响,直接从粒子层面考量和观察分子的结构变化和物理现象。
分子动力学模拟是从统计物理学发展起来的一种描述纳米科技这类处于原子分子状态的固体或液体的动力学特性的微观现象的有效方法。分子动力学总是假定原子的运动服从某种确定的描述,这种描述可以为牛顿方程、拉格朗日方程或哈密顿方程所确定的描述,也就是说原子的运动和确定的轨迹联系在一起。在忽略核子的量子效应和Born-Oppenheimer绝热近似下,分子动力学的这一种假设是可行的。
目前分子动力学仍然存在的问题主要是计算资源的缺乏限制了分子动力学模拟速度。同时符合热力学极限的宏观系统由几千万亿亿个分子或原子组成(一般高达1023数量级),所含微观粒子数量巨大,在实际计算中,分子动力学方法受到有限观测时间和优先系统尺寸的限制。由于受计算机运算速度和内存空间的限制,计算机模拟允许的微观体系尺寸要比热力学极限小很多。针对这一问题,对所选定的模拟单元施加周期性边界条件虽然一定程度上使此问题得到解决,但却是以精度为代价所换得的,在一定程度上,会导致精度损失。
发明内容
针对分子动力学模拟当前存在的问题,将分子动力学软件移植到国产众核架构超级计算机上是很有必要的。首先,基于国产众核架构的超级计算机计算资源富足,内存空间足够大,完全可以支撑起分子动力学模拟中对计算资源的需求。其次,超级计算机内存空间足够大,完全可以对超大体系进行分子动力学模拟,对周期性边界条件的依赖性较低,并且超级计算机支持各种精度的计算,精度损失产生误差的可能性可以降至较低。在现阶段国产超级计算机技术飞速发展的情况下,如何解决上述问题,并能够将其与神威架构超级计算机融合起来,充分利用现有的硬件软件条件,实现分子动力学模拟算法在神威超计算机上的实现,提高分子动力学模拟的精度和速度是分子动力学的重要研究课题。
本发明提供一种基于国产众核架构的分子动力学计算方法,通过将在分子动力学软件通过国产众核架构加速,通过将分子动力学模拟中对非键力、PME算法利用从核进行并行计算,以及分布式并行计算,实现在国产众核架构的超级计算机上进行高精度、高速度的分子动力学模拟。
本发明是通过如下技术方案来实现的:
一种基于国产众核架构的分子动力学计算方法,其实现方法包括针对国产架构的超级计算机修改分子动力学软件的编译方法与安装、通过MPI(信息传递接口)实现分布式并行运行、充分利用从核资源,实现利用从核计算非键力、利用从核进行PME算法并行实现以及优化数据组织方式,结合国产众核架构的超级计算机的向量化技术进行加速。
所述的通过MPI(信息传递接口)实现分布式并行加速:通过分布式并行来进行加速,使用集成MPI库的C编译器和C++编译器来实现,将程序依赖的各种库更换为国产众核架构的超级计算机提供的专有库。
所述利用从核计算非键力:将分子动力学模拟过程中需要计算资源最多的非键力分配到从核上进行计算,单节点内的从核之间进行并行计算。
所述的利用从核进行PME算法加速:对PME算法的分布式并行加速,分出多个节点,确保进行PME算法的节点单独计算,并结合从核加速,在各个分布式节点计算完成后,将结果发送到主节点进行整合形成最终的输出。
所述的优化数据组织方式:将国产众核架构的64个从核的组织方式改为适合计算的多簇模式,每个簇内有n个从核,实现多簇中的从核LDM空间形成连续共享段,连续共享段存放多个i粒子之间相同的j粒子,多个从核之间共享数据,进行计算;将m个i粒子作为一个整体来计算,其中n等于m,每个i粒子对应在一个从核计算,以此提高内存的利用率,同时加速计算速度。
本发明与现有技术相比的有益效果:
(1)通过将分子动力学模拟中的计算用从核进行加速,实现了模拟速度的提升。采用了从核计算非键力的分子动力学模拟,相较于纯主核进行分子动力学模拟,其速度提升了9倍左右,再通过从核计算PME和采用向量化技术,其模拟速度提升巨大。
(2)本发明方法可以对超大体系进行分子动力学模拟,基于国产众核架构,采用分布式并行技术,对模拟体系根据阈值进行域分解,通过对模拟体系的并行化处理,可以实现对超大体系进行分子动力学模拟。
附图说明
图1为分子动力学模拟过程流程图;
图2为基于国产众核架构进行分子动力学计算加速框架图;
图3为现有技术中的从核架构图;
图4为本发明改进后的连续共享段或双簇模式图。
具体实施方式
下面将结合本发明的具体实施例对本发明作进一步的说明,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种基于国产众核架构的分子动力学计算方法,其实现方法包括针对国产架构的超级计算机修改分子动力学软件的编译方法与安装、通过MPI(信息传递接口)实现分布式并行运行、充分利用从核资源,实现利用从核计算非键力、利用从核进行PME算法并行实现以及优化数据组织方式,结合国产众核架构的超级计算机的向量化技术进行加速;主从核异构计算加速框架如图2所示,整个模拟体系通过域分解进行并行计算求解,将原本在主核中运行的非键力计算需要的坐标和域内簇对列表分发到从核,由从核进行计算,PME算法的求解通过主核分发的域外粒子信息在PME节点上进行异构并行计算,主核执行主要的逻辑计算,在等待从核计算结果的同时进行计算键合力以及其他的一些力,最后等从核全部计算完成后,将力进行整合,清除从核的缓存,然后进行下一轮的计算,每10-250步重新进行一次域分解和簇对整合,具体步骤如下:
1)针对国产架构的超级计算机修改分子动力学软件的编译方法并安装
对分子动力学软件的编译和安装流程进行控制,由于国产众核架构的超级计算机的主核不支持超线程技术,编译时取消对单核多线程并行部分代码的编译。为适应国产众核架构的超级计算机,将程序的一些功能封装为库文件时,需要生成静态库。通过分布式并行、从核并行、向量化技术实现多级并行加速。
2)通过MPI(信息传递接口)实现分布式并行加速
通过分布式并行及众核架构来进行分子动力学模拟过程中的计算加速,使用集成了MPI库的C编译器和C++编译器来进行编译以及实现分布式并行,同时修改程序中分布式并行代码中的广播函数等不适用的代码,使其适应于国产众核架构的超级计算机。以此来实现充分利用众核架构进行分子动力学计算加速。
3)充分利用从核资源,实现利用从核计算非键力
国产众核架构拥有大量的计算资源,一个核组包含一个主核和64个从核,其计算性能主要在从核上体现。主核主要负责任务的分发以及回收等任务即可,最花费时间的计算需要在从核上进行,在分子动力学模拟过程中,最耗时的部分是对于非键力的计算,其需要大量的计算资源,通过热点分析,找到最耗时的函数,将其进行代码修改为从核函数,通过主函数对从核函数调用,实现最耗时的非键力计算在从核上进行计算,提高模拟速度。
4)利用从核进行PME算法加速
在进行分子动力学模拟时,在周期性边界条件下模拟的经典势能通常由式(1)表示
其中U coul代表体系的总静电势能,代表真空中的介电常数,N代表带点粒子总数,(i=1,2,…N)代表i粒子的电荷电量,代表j粒子的电荷电量,代表两个电荷之间的距离,n代表盒子的索引矢量,L为模拟网格边长。这个级数是条件收敛的,并且收敛速度较慢,PME算法将复杂的级数表示为了三部分之和,分别为对应实空间、傅里叶空间以及能量修正项 (2)
以上三式代表分别为Udir对应着实空间(direct space)、Urec对应傅里叶空间(reciprocal space),Ucorr对应能量修正项(correction term),代表真空中的介电常数,(i=1,2,…N)代表i粒子的电荷电量,代表j粒子的电荷电量,n代表盒子的索引矢量,ri代表i粒子的位置,rj代表j粒子的位置,V代表盒子体积,M代表B样条插值的范围,m为傅里叶空间格失,由分量m1,m2,m3确定m,Q(k1,k2,k3)是电荷插值后的数组,F(Q)是快速傅里叶变换。erfc()和erf()是误差函数,在实际模拟过程中,通过调整参数,使实空间快速收敛,类似于处理范德华作用的截断方法,极大地减少了计算量。通过热点分析,发现PME算法部分的计算对计算资源的消耗在基于经典力学的分子动力学模拟中仅次于非键力计算,因此对其进行加速也很有必要。主要实现方法是通过国产众核架构进行PME算法的分布式并行加速,同时确保进行PME算法的节点单独计算,并结合从核加速,在各个分布式节点计算完成后,将结果发送到主节点进行整合形成最终的输出。
5)优化数据组织方式,结合国产众核架构的超级计算机的向量化技术进行加速;
对于数组的组织方式,由于大量的计算都是由从核完成,主核调用,所以数据组织方式主要是针对从核来进行设计。可以将从核类比于GPU加速卡,一个主核调度64个从核,从核之间并行。良好的数据组织方式可以获得更快的加速效果。通过将此数据组织方式应用在分子动力学软件GROMACS上,相较于单节点加速比达到了9倍。
在从核中计算粒子之间的交互时,如果为每一个i粒子计算与其他粒子之间的交互,因为其对内存的访问是离散的,计算效率因此就显得较为低效。并且在将每一个i粒子的交互粒子加载到内存中形成verlet列表,对于i粒子周围其他需要计算的粒子,在加载进内存形成verlet列表时,会存在大量的重复粒子,造成内存中的数据大量的重复。鉴于需要提高计算与内存操作的比率,制定了针对从核的簇对算法,国产众核架构提供了灵活的硬件配置,针对分子动力学模拟过程中需要计算粒子之间力的特点(包括计算i粒子,交互j粒子),动态地将64个从核的组织方式改为适合计算的多簇模式,实现多簇中的从核LDM空间形成连续共享段,连续共享段存放多个i粒子之间相同的j粒子,多个从核之间共享数据,进行计算。
经过测试将不同数量的i粒子作为一个整体来计算,在将8个需要计算的i粒子作为一个整体时效率最高,将图3所示的内存独立的64个从核的组织方式改为图4所示的8个从核共享内存的双簇模式,4个从核组成一个从核簇,每两个从核簇通过环网快速通信,八个双簇来进行计算这些i粒子。以此可以提高内存的利用率,同时加速计算速度。
以分子动力学软件GROMACS为例,在国产众核架构上将GROMACS通过移植PME算法和优化数据组织方式的簇对算法优化后,在经过准确性验证后,模拟速度得到了显著提升,单核加速比达到了6倍。同时结合国产众核的分布式并行特点,更易于实现超大体系的分子动力学模拟。
Claims (1)
1.一种基于国产众核架构的分子动力学计算方法,其特征在于,所述方法包括针对国产架构的超级计算机修改分子动力学软件的编译方法与安装、通过信息传递接口实现分布式并行运行、充分利用从核资源,实现利用从核计算非键力、利用从核进行PME算法并行实现以及优化数据组织方式,结合国产众核架构的超级计算机的向量化技术进行加速;
所述修改分子动力学软件的编译方法与安装,编译时取消对单核多线程并行部分代码的编译,将程序的一些功能封装为库文件时,需要生成静态库,通过分布式并行、从核并行、向量化技术实现多级并行加速;
所述的通过信息传递接口实现分布式并行加速:通过分布式并行来进行加速,使用集成MPI库的C编译器和C++编译器来实现,将程序依赖的各种库更换为国产众核架构的超级计算机提供的专有库;
所述利用从核计算非键力:将分子动力学模拟过程中需要计算资源最多的非键力分配到从核上进行计算,单节点内的从核之间进行并行计算;
所述的利用从核进行PME算法加速:对PME算法的分布式并行加速,分出多个节点,确保进行PME算法的节点单独计算,并结合从核加速,在各个分布式节点计算完成后,将结果发送到主节点进行整合形成最终的输出;
所述的优化数据组织方式:将国产众核架构的64个从核的组织方式改为适合计算的多簇模式,每个簇内有n个从核,实现多簇中的从核LDM空间形成连续共享段,连续共享段存放多个i粒子之间相同的j粒子,多个从核之间共享数据,进行计算;将m个i粒子作为一个整体来计算,其中n等于m,每个i粒子对应在一个从核,以此提高内存的利用率,同时加速计算速度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210902025.5A CN114970301B (zh) | 2022-07-29 | 2022-07-29 | 一种基于国产众核架构的分子动力学计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210902025.5A CN114970301B (zh) | 2022-07-29 | 2022-07-29 | 一种基于国产众核架构的分子动力学计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114970301A CN114970301A (zh) | 2022-08-30 |
CN114970301B true CN114970301B (zh) | 2022-10-21 |
Family
ID=82969685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210902025.5A Active CN114970301B (zh) | 2022-07-29 | 2022-07-29 | 一种基于国产众核架构的分子动力学计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114970301B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114743613A (zh) * | 2022-04-29 | 2022-07-12 | 中国海洋大学 | 基于异构众核架构的超大规模海洋天然产物分子对接方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7787678B2 (en) * | 2005-10-07 | 2010-08-31 | Siemens Corporation | Devices, systems, and methods for processing images |
CN107085743A (zh) * | 2017-05-18 | 2017-08-22 | 郑州云海信息技术有限公司 | 一种基于国产众核处理器的深度学习算法实现方法与平台 |
CN109002659B (zh) * | 2018-09-07 | 2020-08-28 | 西安交通大学 | 一种基于超级计算机的流体机械仿真程序优化方法 |
CN111444134A (zh) * | 2020-03-24 | 2020-07-24 | 山东大学 | 分子动力学模拟软件的并行pme的加速优化方法及系统 |
-
2022
- 2022-07-29 CN CN202210902025.5A patent/CN114970301B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114743613A (zh) * | 2022-04-29 | 2022-07-12 | 中国海洋大学 | 基于异构众核架构的超大规模海洋天然产物分子对接方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114970301A (zh) | 2022-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dietrich et al. | Scalar and parallel optimized implementation of the direct simulation Monte Carlo method | |
Stantchev et al. | Fast parallel particle-to-grid interpolation for plasma PIC simulations on the GPU | |
Grimm et al. | The GENGA code: gravitational encounters in N-body simulations with GPU acceleration | |
Zhou et al. | An FPGA framework for edge-centric graph processing | |
Zabelok et al. | Adaptive kinetic-fluid solvers for heterogeneous computing architectures | |
MacFarland et al. | A new parallel P3M code for very large-scale cosmological simulations | |
CN109885917B (zh) | 一种并行分子动力学模拟方法及系统 | |
CN111858066B (zh) | 气体动理论统一算法中的cpu+gpu异构并行优化方法 | |
Camp et al. | Evaluating the benefits of an extended memory hierarchy for parallel streamline algorithms | |
Oliker et al. | Scientific application performance on candidate petascale platforms | |
Jiang et al. | Reusing data reorganization for efficient simd parallelization of adaptive irregular applications | |
Jiang et al. | Improving the performance of whale optimization algorithm through OpenCL-based FPGA accelerator | |
CN114970301B (zh) | 一种基于国产众核架构的分子动力学计算方法 | |
Lee et al. | TensorLightning: A traffic-efficient distributed deep learning on commodity spark clusters | |
Zhang et al. | A customized two-stage parallel computing algorithm for solving the combined modal split and traffic assignment problem | |
Andoh et al. | An exa-scale high-performance molecular dynamics simulation program: MODYLAS | |
Duan et al. | Cell-list based molecular dynamics on many-core processors: A case study on sunway TaihuLight supercomputer | |
Lu et al. | Synergia CUDA: GPU-accelerated accelerator modeling package | |
Hao et al. | An efficient hybrid multi-level CMFD in space and energy for accelerating the high-fidelity neutron transport calculation | |
McColl | Mathematics, Models and Architectures | |
Kukutla | TC-GVF: Tensor Core GPU Based Vector Fitting Via Accelerated Tall-Skinny QR Solvers | |
Powell et al. | Predictive analysis of code optimisations on large-scale coupled cfd-combustion simulations using the cpx mini-app | |
Zhang et al. | SWSPH: A Massively Parallel SPH Implementation for Hundred-Billion-Particle Simulation on New Sunway Supercomputer | |
Ma et al. | Parallelization of an unsteady ALE solver with deforming mesh using OpenACC | |
Liu et al. | Novel performance optimization of large-scale discrete-event simulation on the Cell Broadband Engine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |