High-speed molecular dynamics calculation method based on heterogeneous parallel storage-computing integrated architecture

By optimizing the molecular dynamics calculation process through a heterogeneous parallel in-memory computing architecture and utilizing master-slave processors and high-speed transmission interfaces, the problem of low efficiency in molecular dynamics calculations is solved, and efficient molecular dynamics calculations are achieved.

CN115527618BActive Publication Date: 2026-07-21HUNAN PEISEN ELECTRONIC TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HUNAN PEISEN ELECTRONIC TECH CO LTD
Filing Date
2021-06-24
Publication Date
2026-07-21

AI Technical Summary

Technical Problem

Current molecular dynamics calculations consume large amounts of computational resources and have low computational efficiency, resulting in high computational costs and difficulty in completing them quickly on small computers. Using supercomputing clusters is too costly and difficult to popularize.

Method used

It adopts a heterogeneous parallel in-memory computing architecture, using a high-speed transmission interface between the main processor and the slave processor for communication. The main processor is responsible for complex logic calculations, while the slave processor performs in-memory computing and pipelined calculations. Combined with multi-core parallel acceleration technology, it optimizes the data transmission and calculation process.

Benefits of technology

While ensuring high accuracy, it significantly shortens the molecular dynamics calculation time and improves computational efficiency, making it suitable for high-speed molecular dynamics calculations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115527618B_ABST
    Figure CN115527618B_ABST
Patent Text Reader

Abstract

The application belongs to the field of molecular dynamics calculation, and discloses a method for heterogeneous parallel efficient acceleration of molecular dynamics calculation by using memory-computing separation and memory-computing integrated chips. Firstly, a computer system with a master processor having a memory-computing separation architecture and a slave processor having a memory-computing integrated architecture is constructed, the master processor and the slave processor communicate with each other through a high-speed interface, the master processor reads molecular system information and simulation parameters set by a user, then constructs an adjacency matrix of atoms through multi-core parallel acceleration, the high-speed interface quickly transmits data to the slave processor, the slave processor completes the steps of calculating atomic energy and force and updating atomic speed and coordinates by using the advantages of memory-computing integration and pipeline operation, and transmits data to the master processor from the high-speed interface and records the data into a data file. The application realizes efficient acceleration of molecular dynamics, combines the respective calculation advantages of the memory-computing separation processor and the memory-computing integrated processor, optimizes the computer system for molecular dynamics calculation, and has the characteristics of high precision and high speed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of molecular dynamics computation, and in particular, it is a method for heterogeneous parallel high-efficiency acceleration of molecular dynamics computation using in-memory computing separation and in-memory computing integrated chips. Background Technology

[0002] Molecular dynamics (MD) is a simulation technique used in the field of computational simulation to perform microscopic simulations of systems at the atomic scale. It holds an irreplaceable position in fields such as physics, chemistry, materials science, biology, and pharmaceuticals. However, as the simulation system and timescale increase, the consumption of computational resources becomes extremely high. Currently, the only way to increase computing power is to simply stack computing machines. Traditional molecular dynamics methods use in-memory computing architectures, with the majority of time and power consumed in data transfer, resulting in a significant reduction in computational efficiency and a serious waste of computing power. This makes high-speed molecular dynamics calculations prohibitively expensive, hindering their application in practical research and production. On small computers, the computation time is extremely long, slowing down research and production efficiency, while using large workstations such as supercomputing clusters is prohibitively expensive and difficult to popularize among a large user base. The most time-consuming step in molecular dynamics calculations is calculating the interatomic interactions. Therefore, there is an urgent need to research a computational architecture capable of high-speed molecular dynamics calculations to improve their efficiency. Summary of the Invention

[0003] The purpose of this invention is to use a high-speed molecular dynamics calculation method based on a heterogeneous parallel in-memory computing architecture to achieve a significant acceleration of molecular dynamics calculations.

[0004] The technical solution to achieve the purpose of this invention is as follows:

[0005] A high-speed molecular dynamics calculation method based on a heterogeneous parallel in-memory computing architecture, comprising the following steps:

[0006] Step S1: Construct a computer system that includes an in-memory computing architecture and pipeline;

[0007] like Figure 2As shown, a computer system mainly consists of a Master Processing Unit (MPU), a Slave Processing Unit (SPU), and a High-speed Transmission Interface (HTI) between them. The MPU and SPU communicate using the HTI. The MPU features in-memory computing and is specifically, including but not limited to, processors such as the Central Processing Unit (CPU) and Graphics Processing Unit (GPU). The SPU features in-memory computing and pipelined operation, specifically, including but not limited to processors such as Field Programmable Gate Arrays (FPGAs) and Application Specific Integrated Circuits (ASICs). The High-speed Transmission Interface (HTI) features efficient and rapid data transmission, specifically, including but not limited to high-speed interfaces such as PCIe (Peripheral Component Interconnect Express) and High Definition Multimedia Interface (HDMI).

[0008] like Figure 1 As shown, steps S2 to S10 will be completed in the computer system constructed in this step. Further, steps S2 to S4 and S10 are completed separately in the MPU, while steps S6 to S8 are completed separately in the SPU. Steps S5 and S9 are high-speed transmission steps, completed jointly by the MPU and SPU via HTI communication. Preferably, the steps performed in the MPU are accelerated using multi-core parallel processing, further improving the operating speed.

[0009] Step S2: The MPU reads the information of the simulated molecular system from the data file;

[0010] Specifically, the system contains a total of Na atoms, numbered i (i = 0, 1, 2, ..., Na-1). The corresponding atom type s is labeled. i atomic mass m i Atomic coordinates r i Atomic velocity v i and the force f on the atom i .

[0011] Step S3: The MPU reads the simulation settings from the data file;

[0012] Simulation settings include, but are not limited to: simulation ensemble, temperature, pressure, duration, thermostat, and pressure regulator. The MD atom settings have a simulation unit step size of dt (unit fs). Let the total number of simulation time steps be Ts × Tu, the current step number be step, and the simulation time be t (t = step × dt). Ts is the number of times adjacency relationships are built, set by the user; Tu is the maximum number of steps required to rebuild adjacency relationships. The SPU updates the adjacency relationships once for every Tu steps of MD. The current number of builds is ts, and the current MPU step count is tu. Therefore, step = ts × Tu + tu. Initialize ts = 0.

[0013] Step S4, MPU constructs adjacency relationships;

[0014] The molecular system is divided into equal box units using a cutoff radius Rc. Each box unit has 27 adjacent box units, including its first-order neighbor and itself. Taking any atom i in a box unit as the center, other atoms in adjacent box units are selected; those with an atomic distance less than Rc are considered adjacent atoms, otherwise they are not. Let NI be set so that the number of adjacent atoms does not exceed NI. A matrix V of size Na×NI is constructed, where V(i,k) represents the index of the k-th (k=0,1,...,NI-1) adjacent atom of the i-th atom. Rows with fewer than NI adjacent atoms are padded with -1. Considering periodic boundary conditions, a matrix P of size Na×NI×3 is constructed, where P(i,k,d) represents the translation relationship in the d (d=x,y,z) direction of the k-th adjacent atom of the i-th atom. A value of 1 indicates a translation in the positive d direction, a value of -1 indicates a translation in the negative d direction, and a value of 0 indicates no translation.

[0015] Step S5: The MPU transmits atomic information to the SPU;

[0016] The MPU transmits necessary computational information to the SPU via the HTI. The transmitted information includes, but is not limited to: atomic information (atomic number, atom type, atomic coordinates, atomic velocity), adjacency matrix V, matrix P, and temperature control parameters.

[0017] The transmitted data requires MPU encoding, and the SPU decodes it accordingly. After acquiring the data, the SPU initializes tu=0.

[0018] Step S6: The SPU calculates the energy and forces acting on atoms;

[0019] The computational process in SPU is as follows: extract atomic data, construct atomic structure features, calculate atomic energy, and calculate the component forces of the interaction between atoms by differentiating the energy. However, it is not limited to this. It can also calculate physical quantities that are directly derived or obtained by transforming formulas, such as virial and pressure.

[0020] To calculate the energy of each atom, or the total energy of the atom, different function forms can be implemented according to user settings, including but not limited to classical force fields (such as Lennard-Jones, Stillinger-Weber, etc.), neural network potential functions (such as DeePMD, SchNet, etc.), machine learning potential functions (such as Gaussian Approximation Potentials), etc.

[0021] Interatomic force f ij The definition is as follows:

[0022]

[0023] The virial is defined as follows:

[0024]

[0025] Step S7: The SPU updates the velocity and coordinates of the atoms;

[0026] During the integration process, the component force f ij The forces f acting on the atoms are obtained by summing them up. i Temperature is controlled using a thermostat, and pressure is controlled using a pressure regulator. The updated atomic velocities and coordinates are then stored back into the SPU's storage unit.

[0027] The simulation ensemble and integral formulas offer different functions based on user settings. Ensembles include canonical ensembles (NVT), microcanonical ensembles (NVE), giant canonical ensembles (VTu), isothermal-isobaric (NPT), and isobaric-isoenthalpic (NPH). Integral formulas combined with the ensembles include, but are not limited to, Nose-Hoover, Langevin, Andersen, and Berendsen integral formulas.

[0028] Step S8: Determine whether the SPU is transmitting data to the MPU;

[0029] tu = tu + 1; Determine if tu >= Tu. If yes, proceed to step S9; otherwise, proceed to step S6.

[0030] Step S9: Transmit the updated atomic information calculated in the SPU back to the MPU via HTI;

[0031] The SPU transmits data to the MPU, including but not limited to: atomic information (atom number, atom type, atom coordinates, atom velocity) and temperature control parameters. The transmitted data needs to be encoded by the SPU, and the MPU decodes it using the appropriate method. The MPU then updates the atomic information and records the trajectory to a data file.

[0032] Step S10: Determine if the program has ended;

[0033] ts = ts + 1; if ts >= Ts, then end the program; otherwise, proceed to step S4.

[0034] Compared with existing technologies, the significant advantage of this invention lies in its high-speed molecular dynamics calculation method. This method utilizes a heterogeneous parallel architecture, leveraging the high computational frequency and numerous cores of the MPU (Multi-Processor Unit), suitable for complex logic calculations, and the high computational efficiency brought by the in-memory computing and pipelined nature of the SPU (System-on-a-Platform) to combine the advantages of both. The use of a high-speed data transfer interface (HTI) further accelerates molecular dynamics calculations while maintaining high accuracy. It significantly reduces computation time while ensuring high precision, making it suitable for high-speed molecular dynamics calculations. Attached Figure Description

[0035] Figure 1 This is a flowchart of the operation of the present invention;

[0036] Figure 2 This is the computer system architecture of the present invention;

[0037] Figure 3 (a) divides the molecular system into a grid according to the cutoff radius;

[0038] Figure 3 (b) The box unit (dark color) in the exhibition center and its adjacent box unit;

[0039] Figure 3 (c) Demonstrate how the atoms in the central box filter adjacent atoms within the cutoff radius;

[0040] Figure 4 (a) Showing the starting molecular structure of example GeTe, GeTe in an amorphous state;

[0041] Figure 4 (b) Showing the final molecular structure of example GeTe, GeTe in a crystalline state;

[0042] Figure 4 (c) Display the curve of simulated temperature changing over time. Detailed Implementation

[0043] The present invention will now be described in further detail with reference to the accompanying drawings and preferred embodiments.

[0044] The objective of this invention is to achieve a significant acceleration in molecular dynamics calculations by employing a high-speed molecular dynamics calculation method based on a heterogeneous parallel in-memory computing architecture. It should be noted that the preferred embodiments described herein are for illustrative purposes only and are not intended to limit the implementation methods according to this disclosure.

[0045] The technical solution to achieve the purpose of this invention is as follows:

[0046] A high-speed molecular dynamics calculation method based on a heterogeneous parallel in-memory computing architecture, comprising the following steps:

[0047] Step S1: Construct a computer system that includes an in-memory computing architecture and pipeline;

[0048] like Figure 2 As shown, a computer system mainly consists of a Master Processing Unit (MPU), a Slave Processing Unit (SPU), and a High-speed Transmission Interface (HTI) between them. The MPU and SPU communicate using the HTI. The MPU features in-memory computing and is specifically, including but not limited to, processors such as the Central Processing Unit (CPU) and Graphics Processing Unit (GPU). The SPU features in-memory computing and pipelined operation, specifically, including but not limited to processors such as Field Programmable Gate Arrays (FPGAs) and Application Specific Integrated Circuits (ASICs). The high-speed transmission interface features efficient and rapid data transmission, specifically, including but not limited to high-speed interfaces such as PCIe (Peripheral Component Interconnect Express) and High Definition Multimedia Interface (HDMI).

[0049] like Figure 1 As shown, steps S2 to S10 will be completed in the computer system constructed in this step. Specifically, steps S2 to S4 and step S10 are completed separately in the MPU, while steps S6 to S8 are completed separately in the SPU. Steps S5 and S9 are high-speed transmission steps, completed by the MPU and SPU together via HTI communication. Preferably, the steps performed in the MPU are accelerated using multi-core parallel processing to further improve the running speed.

[0050] Preferably, the MPU is set to CPU, the SPU to FPGA, and the HTI to PCIe 3.0×16.

[0051] Step S2: The MPU reads the information of the simulated molecular system from the data file;

[0052] Specifically, the system contains a total of Na atoms, numbered i (i = 0, 1, 2, ..., Na-1). The corresponding atom type s is labeled. i atomic mass m i Atomic coordinates r i Atomic velocity v i and the force f on the atom i .

[0053] Preferably, in specific embodiments, an indeterminate system of germanium telluride (GeTe) is selected for molecular dynamics analysis, such as... Figure 4 As shown in (a), this is a three-dimensional image of the system plotted by atomic types and coordinates. In the illustrated embodiment, the number of atoms in the GeTe amorphous state is 1728, and the element types are Ge and Te.

[0054] Step S3: The MPU reads the simulation settings from the data file;

[0055] Simulation settings include, but are not limited to: simulation ensemble, temperature, pressure, duration, thermostat, and pressure regulator. Since the atoms in the MD (Massively Analytical) system move very slowly, there is no need to update the adjacency relationships of atoms within a certain number of time steps. Specifically, the simulation unit step size is set to dt (unit fs), the total number of simulation time steps is Ts × Tu, the current step number is step, and the simulation time is t (t = step × dt). Ts is the number of times adjacency relationships are built as set by the user; Tu is the maximum number of steps required to rebuild adjacency relationships. The SPU updates the adjacency relationships once for every Tu steps of MD. The current number of builds is ts, and the current number of steps the MPU runs is tu. Therefore, step = ts × Tu + tu. Initialize ts = 0.

[0056] To simulate the recrystallization process of GeTe and verify the accuracy and speed of this disclosure, preferably, dt is set to 1 fs, Tu to 50, and Ts to 23200. The ensemble is set to a canonical ensemble (NVT), and the thermostat is a Berendsen thermostat; the simulated temperature changes are as follows: Figure 4 As shown in (c), the temperature increases from 80 ps at a constant 300 K to 80 ps at a constant 600 K, and then increases to 1000 ps at a constant 600 K.

[0057] Step S4, MPU constructs adjacency relationships;

[0058] In this technical field, the method for constructing adjacency relationships is generally a grid-segmentation method. The traditional method of traversing all atoms has a computational complexity of O(Na). 2 The computational complexity of the meshing method can grow to O(Na), while the computational complexity of the Na-grid method can grow to O(Na). This method is briefly described here, but other variations are also applicable.

[0059] Since the number of atoms within a given volume cannot be arbitrarily large, a sufficiently large number of adjacent atoms can be set. Specifically, for any atom i, the number of adjacent atoms within a set cutoff radius Rc does not exceed NI. A matrix V of size Na×NI is constructed, where V(i,k) represents the index of the k-th (k=0,1,...,NI-1) adjacent atom of the i-th atom. Rows with fewer than NI adjacent atoms are padded with -1. A matrix P of size Na×NI×3 is constructed, where P(i,k,d) represents the translation relationship of the k-th adjacent atom of the i-th atom in the d direction (d=x,y,z). A value of 1 indicates a translation in the positive d direction, a value of -1 indicates a translation in the negative d direction, and a value of 0 indicates no translation. The specific steps are as follows:

[0060] Step S4.1: Initialize the value in V to -1 and the value in P to 0.

[0061] Step S4.2: Divide the molecular system with box size Lx×Ly×Lz into equal L×M×N box units according to the cutoff radius Rc, and label them as C. 0,0,0 C 1,0,0 , ..., C L-1,M-1,N-1 C l,m,n This represents the l-th box element in the x-direction, the m-th box element in the y-direction, and the n-th box element in the z-direction. The atom numbers contained in this element are stored in the vector LC. l,m,n .like Figure 3 As shown in (a), the molecular system is uniformly divided into box units of the same size and shape.

[0062] like Figure 3 As shown in (b), the central box unit, its 26 first-order adjacent box units, and the central box unit itself, totaling 27 box units, constitute the adjacent box units used to filter adjacent atoms. Let this set be NC. l,m,n This significantly reduces the range of adjacent atoms to the target being screened, thus improving computational efficiency.

[0063] Furthermore, the set of adjacent atomic units NC l,m,n Defined as:

[0064]

[0065] Furthermore, the function mod(a,A) is defined as:

[0066]

[0067] Furthermore, the translation relationship P between adjacent box elements l’,m’,n’ The set PBC l,m,n Defined as:

[0068]

[0069] Furthermore, the function pbc(a,A) is defined as:

[0070]

[0071] Step S4.3, from LC l,m,n Take an atom with the atom number i and use it as an index to obtain the coordinate r. i Create new linked lists Vi and Pi.

[0072] Step S4.4: The central atom i in the central box unit selects neighboring atoms from adjacent box units by defining a spherical region with a cutoff radius of Rc. For example... Figure 3 As shown in (c), the central box unit C l,m,n Atom i in the middle has an atomic spacing of 1 / 2 to the adjacent box unit C at the cutoff radius Rc. l+1,m,n The atoms in the diagram are selected, but the illustration is not without generality; the same method can be used to select adjacent atoms in other adjacent box units.

[0073] Specifically, take out the adjacent box unit C. l’,m’,n’ The corresponding translation relationship P l’,m’,n’ Numbering vector LNC l’,m’,n’ Extract the atom number j from the sample and use it as an index to obtain the coordinate r. j Calculate the relative atomic coordinates r after periodic translation. ij =r j -r i +(Lx,Ly,Lz)*P l’,m’,n’ .

[0074] Calculate the interatomic spacing r ji =|r ji |,r ji If the value is less than the cutoff radius Rc, then add j to the adjacent relation vector Vi corresponding to atom i, and add P. l’,m’,n’ Go to Pi. Continue this process, filtering atoms from adjacent box units one by one to obtain Vi and Pi. Assign Vi to V(i), and assign Pi to P(i).

[0075] Step S4.5, and so on, repeat steps S4.3 to S4.4 for all the atoms of the box unit to obtain V and P.

[0076] Preferably, in this embodiment, Lx=Ly=Lz=36.1902 Å, Rc is 6.0317 Å, L=M=N=6, and NI is 64. Preferably, the multi-core CPU used in step S4 can be effectively parallelized using MPI to improve computational efficiency.

[0077] Step S5: The MPU transmits atomic information to the SPU;

[0078] To leverage the computational advantages of both the MPU and SPU, the MPU transmits necessary computational information to the SPU via HTI. This transmitted information includes, but is not limited to: atomic information (atom number, atom type, atom coordinates, atom velocity), adjacency matrix, and temperature control parameters. The specific steps are as follows:

[0079] Step S5.1: Encode atomic information, adjacency matrix, and temperature control parameters in a specific format, and store the data in memory.

[0080] Step S5.2: The MPU loads the HTI driver and configures the HTI transmission parameters.

[0081] In step S5.3, the MPU driver HTI driver performs the transmission, transferring the data encoded and cached by the MPU in step S5.1 to the storage unit of the SPU.

[0082] Step S5.4: The SPU receives data and distributes it to the storage units within the corresponding computing modules. Then, it initializes tu=0.

[0083] Preferably, the sent atomic information, such as coordinates and velocity variables, is converted from floating-point to fixed-point numbers. Other integer or Boolean values ​​do not require conversion. This fully utilizes the computational advantages of the CPU and FPGA. The atomic information can be sorted by atomic number.

[0084] Step S6: The SPU calculates the energy and forces acting on atoms;

[0085] The SPU leverages its in-memory computing architecture and pipelined computing model to significantly accelerate the calculation of atomic forces. The computational flow within the SPU involves retrieving atomic data, constructing atomic structural features, calculating atomic energy, and then using energy derivatives to calculate the components of the interatomic interaction forces. However, it is not limited to this; it can also calculate directly derived or modified formulas for physical quantities such as virial quantities and pressure. The specific steps are as follows:

[0086] Step S6.1, initialize number i=0.

[0087] Step S6.2, take s i r i V(i), P(i). Obtain the index j = V(i,k) (k = 0, 1, ..., NI-1) from V(i), and index the adjacent atom information s. j r j s with index -1 j and r j The value of s i r i Consistent.

[0088] Step S6.3, using s i r i s j r j Calculate the total potential energy E of the system using the formula. Then, differentiate the total system energy using the derivative formula with respect to r. ij Find the negative gradient to obtain the interatomic force f. ij The definition is as follows:

[0089]

[0090] To calculate the energy of each atom, or the total energy of atoms, different function forms can be implemented according to user settings, including but not limited to classical force fields (such as Lennard-Jones, Stillinger-Weber, etc.), neural network potential functions (such as DeePMD, SchNet, etc.), and machine learning potential functions (such as Gaussian Approximation Potentials). Without loss of generality, the following explanation uses the DeePMD form of neural network potential function as an example; those skilled in the art will understand that other potential function forms are equally applicable.

[0091] The potential function of DeePMD consists of two networks: a feature network and a fitting network. The feature network is a one-input, multiple-output network. The fitting network is a multiple-input, one-output network. The specific steps are as follows:

[0092] Step S6.3.1: For atom i, construct a network input feature Di that maintains translation invariance, rotation invariance, and permutation invariance. Preferably, the feature network in this process can be constructed in the form of a lookup table to save resource consumption.

[0093] In step S6.3.2, Di is input into a fitting network of a user-defined size to predict the atomic energy Ei. Preferably, the weights of the fitting network in this process can be quantized, turning multiplication into a finite number of shift and summation operations, further saving resource consumption.

[0094] Step S6.3.3: Sum Ei to obtain E.

[0095] Step S6.3.4, press E to adjust r ij Calculate the interatomic force f using the derivative analytical expression. ij .

[0096] Step S6.4: Configure NI+1 memory cells, numbered BF0, BF1, ..., BF NI Each storage cell is the same size and can store data at a depth of at least Na, with its j-th row position set to BF. k (j). BFk Extract the data from (j), and add the obtained f to this value. ij Save it back to BF k (j). NI f ij Accumulate and store the values ​​in BF NI (i).

[0097] S6.5 Optionally, other physical quantities, such as virial, can also be added for calculation:

[0098]

[0099] In step S6.6, i = i + 1, determine whether i >= Na. If yes, proceed to step S7; otherwise, proceed to step S6.2.

[0100] Step S7: The SPU updates the velocity and coordinates of the atoms;

[0101] During integration, a thermostat is used for temperature control, and the updated atomic velocities and coordinates are stored back into the SPU's storage unit. The specific steps are as follows:

[0102] Step S7.1, initialize i=0;

[0103] Step S7.2, take out BF0(i), BF1(i), BF2(i), ..., BF NI The data in (i) is used to calculate the atomic force f from NI+1 component forces. i ;

[0104] Step S7.3, extract the atom type s of atom i. i atomic mass m i Atomic coordinates r i and atomic velocity v i Using this atomic information, along with f i Substitute the values ​​into the integral formula to calculate the simulation time r. i and v i The simulation ensemble and integral formulas offer different functions selected based on user settings. Ensembles include canonical ensembles (NVT), microcanonical ensembles (NVE), giant canonical ensembles (VTu), isothermal-isobaric (NPT), and isobaric-isoenthalpic (NPH). Integral formulas combined with the ensembles include, but are not limited to, Nose-Hoover, Langevin, Andersen, and Berendsen integral formulas. Specifically, taking Berendsen's formula under the NVT ensemble as an example:

[0105]

[0106] Here, α is the user-defined temperature control coefficient, and T is the current temperature of the simulation system. tThis is the target temperature of the simulation system. The current temperature can be calculated using the following formula:

[0107]

[0108] E here K It is the system's kinetic energy, k B It is the Boltzmann constant.

[0109] Step S7.4, s i r i and v i Store back in the storage unit.

[0110] Step S7.5, i = i + 1. Determine if i >= Na. If yes, proceed to step S8; otherwise, proceed to step S7.2.

[0111] Preferably, the Berendsen formula is chosen as the integral formula, with α being 500 fs.

[0112] Step S8: Determine whether the SPU is transmitting data to the MPU;

[0113] tu = tu + 1; Determine if tu >= Tu. Proceed to step S9, otherwise proceed to step S6.

[0114] Step S9: Transmit the updated atomic information calculated in the SPU back to the MPU via HTI;

[0115] The SPU transmits data to the MPU, and the data must be in a specific format. The MPU then decodes the received data. Finally, the MPU updates the atomic information and records the trajectory to a data file. The specific steps are as follows:

[0116] In step S9.1, the SPU encodes data in a specific format, including but not limited to atomic coordinates, atomic velocities, and simulation parameters, and stores the data in a dedicated memory for data transmission; the SPU then sends a message to the MPU indicating that the data can be read.

[0117] Step S9.2: The MPU reads the SPU read data message and drives the HTI driver to perform the transmission;

[0118] In step S9.3, the MPU decodes the read information and stores the data in the memory;

[0119] Step S10: Determine if the program has ended;

[0120] ts = ts + 1; if ts >= Ts, then end the program; otherwise, proceed to step S4.

[0121] Using the computational method of this invention, an order-of-magnitude speedup can be achieved compared to a typical minicomputer running a desktop computer. In this embodiment, using a conventional computational method, the simulation speed is 10... -5 The order of magnitude is s / step / atom, while using the method of this invention, 10 was obtained. -8 The computation speed of s / step / atom.

[0122] Compared with existing technologies, the significant advantage of this invention lies in its high-speed molecular dynamics calculation method. This method utilizes a heterogeneous parallel architecture, leveraging the high computational frequency and numerous cores of the MPU (Multi-Processor Unit), suitable for complex logic calculations, and the high computational efficiency brought by the in-memory computing and pipelined nature of the SPU (System-on-a-Platform) to combine the advantages of both. The use of a high-speed data transfer interface (HTI) further accelerates molecular dynamics calculations while maintaining high accuracy. It significantly reduces computation time while ensuring high precision, making it suitable for high-speed molecular dynamics calculations.

[0123] The above description is merely a preferred embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any equivalent substitutions or modifications made by those skilled in the art within the scope disclosed in the present invention, based on the technical solution and inventive concept of the present invention, shall fall within the scope of protection of the present invention.

Claims

1. A high-speed molecular dynamics calculation method, characterized in that, By utilizing the High-Speed ​​Transmission Interface (HTI) to combine the in-memory compute-separate main processor (MPU) and the in-memory compute-integrated slave processor (SPU), a heterogeneous parallel collaborative architecture is formed, accelerating molecular dynamics calculations. The steps for implementing the calculation method are as follows: Step S1: Construct the computer system consisting of the MPU and SPU; Step S2: The MPU reads molecular system information; Step S3: The MPU reads the simulation settings; Step S4: The MPU establishes an adjacency relationship; Step S5: The MPU transmits data to the SPU; Step S6: The SPU calculates energy and force; Step S7: The SPU updates the atom coordinates and velocities; Step S8: Determine whether the SPU sends back information to the MPU; Step S9: The SPU transmits data to the MPU and records it; Step S10: Determine whether the simulation has ended; The heterogeneous parallel collaborative architecture includes: The main processor, the slave processor, and the high-speed transmission interface HTI; The master processor and the slave processor communicate using the high-speed transmission interface (HTI).

2. The in-memory computing separate main processor (MPU) according to claim 1, characterized in that, It has multiple computing cores and uses the MPI communication mechanism for multi-core parallel acceleration. It has and can drive the high-speed transmission interface HTI. The multi-core acceleration ensures that the main processor does not slow down the computing speed of the slave processor, thereby improving computing efficiency.

3. The in-memory computing slave processor (SPU) according to claim 1, characterized in that, The computation is performed using a pipelined approach, and it has the capability to drive the high-speed transmission interface (HTI). The in-memory computing architecture greatly reduces the number of communications with the memory, and the pipelined computing method can significantly improve the computation speed.

4. The in-memory computing slave processor (SPU) according to claim 1 also has a lookup table function, which can transform complex operations into direct lookup table mapping, improve computing efficiency, and reduce resource consumption.

5. The in-memory computing slave processor (SPU) according to claim 1 also has the function of fixed-point number calculation, which uses fixed-point numbers to replace floating-point number calculation, quantizes the data, reduces the computational complexity, and consumes less resources at the same computational precision.

6. The high-speed transmission interface HTI according to claim 1, characterized in that, The transmission rate is greater than 1.0 Gbit / s, making the time consumption per atom per step negligible.

7. In the method according to claim 1, the method of constructing the adjacency relationship uses a segmented grid method, which divides the atoms into different box units according to their coordinates, and uses the position of the box unit to initially determine the range of adjacent atoms, and then uses the set cutoff radius to perform the final screening and construction.

8. In the method according to claim 1, step S6 further includes calculating physical quantities such as virial and heat flow that can be directly derived or transformed from the atomic information and system settings described in claim 1.