Molecular dynamics calculation device based on distributed storage
By using a molecular dynamics computing device based on distributed storage, the problem of improving the computational performance of molecular dynamics simulation on multi-chip clusters was solved, achieving efficient parallel computing and reducing network latency, thereby improving simulation efficiency.
Patent Information
- Application Number
- CN202511624990.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-07
- Publication Date
- 2025-12-05
- Estimated Expiration
- 2045-11-07
AI Technical Summary
Existing molecular dynamics simulations struggle to achieve significantly increased computational performance on multi-chip distributed clusters as the scale expands. Network bandwidth and transmission latency become bottlenecks, and hardware such as GPUs and FPGAs lack sufficient flexibility in large-scale simulations.
A molecular dynamics computing device based on distributed storage is adopted. Spatial domain decomposition and task decomposition are achieved through atomic position pooling, neighborhood search engine and nonbonded force computing array, reducing the communication requirements between nodes. Multi-level filters and interactive atom pair generator are used to optimize data flow transmission.
It significantly improves the efficiency and parallelism of molecular dynamics calculations, reduces network bandwidth and transmission latency in large-scale simulations, and achieves efficient pipelined computation.
Smart Images

Figure CN121075458A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application belongs to the technical field of molecular dynamics calculation, and particularly relates to a molecular dynamics calculation device based on distributed storage. BACKGROUND
[0002] Molecular dynamics is a computer simulation technology that describes the interaction between atoms through a series of potential functions. Non-bonding force is the main calculation part. Molecular dynamics can study a large number of molecules and their dynamic behavior. In addition to simulating the macroscopic physical properties of materials, it can also help researchers explore microstructures at scales that cannot be observed by experimental methods. It is widely used in the fields of protein folding, drug design, and cell membrane mechanism.
[0003] Molecular dynamics simulation achieves microscale simulation by analyzing the force relationship of atoms in discrete infinitesimal time intervals and iterating the state of atoms. Due to the extensive interaction of atoms and the iterative nature of computation, molecular dynamics simulation has coupling in space and time. Single simulation cannot achieve high-speed operation through large-scale parallelism, which is why molecular dynamics simulation is so expensive in terms of computation. Therefore, hardware accelerators play an important role in the field of molecular dynamics simulation, including graphics processing units (GPU), field programmable gate arrays (FPGA), and application specific integrated circuits (ASIC). Using these advanced hardware not only speeds up the computation, but also expands the scope and scale of molecular dynamics research, promoting breakthrough discoveries in various scientific disciplines.
[0004] Most mature molecular dynamics software packages (such as Amber, Gromacs, and NAMD) support GPU, and have good performance on a single chip. The advantage of GPU is the mature development environment and resources, as well as the lower cost. However, GPU lacks hardware flexibility, and the control flow overhead leads to discontinuous computation execution, which makes it difficult to effectively increase the computing performance as the scale expands on a multi-chip distributed cluster.
[0005] Customized circuit structure can be adopted on special hardware such as FPGA and ASIC, which has higher flexibility in data scheduling and computing resource allocation, can form a large-scale simulation cluster through a high-bandwidth network, and can achieve considerable acceleration performance. However, the bandwidth and transmission delay of the network in a huge simulation system often become the bottleneck of the performance of the cluster, which includes the calculation interaction of atomic interaction between distributed nodes. Therefore, how to reasonably decompose the task becomes crucial. SUMMARY
[0006] The application provides a molecular dynamics calculation device based on distributed storage to solve the above-mentioned technical problems, and specifically adopts the following technical solutions:
[0007] A molecular dynamics calculation device based on distributed storage, comprising:
[0008] An atomic position pool for storing atomic position information;
[0009] A neighborhood search engine connected to the atomic position pool and configured to obtain atomic position information from the atomic position pool;
[0010] The atomic position pool comprises:
[0011] A position information pre-distribution module configured to send atomic information of a calculation region to an import region of a neighboring node and receive atomic information from the neighboring node, so as to realize spatial domain decomposition;
[0012] A local main memory configured to store atomic information in the calculation region;
[0013] An adjacent storage configured to store the atomic information received from the neighboring node and store the atomic information according to a neighborhood type;
[0014] The neighborhood search engine comprises:
[0015] An interactive atomic pair generator configured to generate atomic pairs,
[0016] A multi-stage filter configured to screen out atomic pairs meeting a cutoff radius condition.
[0017] Further, the adjacent storage stores the atomic information in corresponding cache queues according to the neighborhood type, and the neighborhood type includes an angular domain, an XY-edge domain, an XZ-edge domain, a YZ-edge domain, an X-face domain, a Y-face domain and a Z-face domain.
[0018] Further, the local main memory comprises:
[0019] A random access memory configured to store atomic position and type information in the calculation region;
[0020] A state machine is configured to control read and write operations of the local main memory and the adjacent memory in different states such as data initialization, neighborhood search, motion update, etc., to ensure correct flow and processing of data.
[0021] Further, the position information pre-distribution module not only sends atomic information of the calculation region to the import region of the adjacent node, but also receives atomic information from the adjacent node, and the received atomic information is stored in the adjacent memory after filtering and coordinate conversion, to support cross-regional atomic interaction calculation.
[0022] Further, the atom pair generator of the neighborhood search engine can dynamically adjust the number of atom pairs generated each time according to the load condition of the subsequent calculation unit, to optimize the transmission efficiency of data flow, and the atom pair generator adopts a multi-level cache mechanism, which retains data to the next clock cycle through a register, forms a pipeline type atom pairing queue, and thus improves the generation efficiency of atom pairs.
[0023] Further, the interaction atom pair generator includes an intra-domain atom pair generator and an inter-domain atom pair generator, the intra-domain atom pair generator is configured to process atom pair pairing within the calculation region, the inter-domain atom pair generator is configured to process atom pair pairing between the calculation region and the neighborhood, and atom pair pairing between the neighborhoods.
[0024] Further, the multi-level filter of the neighborhood search engine reduces the resource overhead of the filter through step-by-step screening, and specifically includes: a preliminary screening stage for quickly excluding obviously non-qualified atom pairs, and a subsequent refinement stage for gradually calculating accurate distances and screening according to the midpoint method condition and the cutoff radius condition, and after each filtering, a plurality of queues are re- arbitrated, and the qualified atom pairs are merged into one queue to provide efficient data flow for the subsequent calculation.
[0025] Further, the molecular dynamics calculation device based on distributed storage further includes:
[0026] A non-bonding force calculation array is connected to the neighborhood search engine and is configured to calculate non-bonding forces between screened atom pairs.
[0027] Further, the molecular dynamics calculation device based on distributed storage further includes:
[0028] A force accumulation cache is configured to cache the calculated non-bonding forces for subsequent force accumulation operations.
[0029] Further, the molecular dynamics calculation device based on distributed storage further includes:
[0030] A motion iterator is configured to update position and velocity information of atoms according to the calculated forces.
[0031] The application has the advantages that the provided molecular dynamics calculation device based on distributed storage reduces the communication demand between nodes by the distributed atomic information storage scheme based on domain division and the neighborhood search method, so that the task can be completely parallel on the distributed system, high-efficiency pipeline calculation is realized, and the efficiency and parallelism of the molecular dynamics calculation are significantly improved.
[0032] The application has the advantages that the provided molecular dynamics calculation device based on distributed storage reduces the communication demand between nodes by the distributed atomic information storage scheme based on domain division and the neighborhood search method, so that the task can be completely parallel on the distributed system, high-efficiency pipeline calculation is realized, and the efficiency and parallelism of the molecular dynamics calculation are significantly improved. BRIEF DESCRIPTION OF DRAWINGS
[0033] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the drawings needed to be used in the embodiments or prior art description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor.
[0034] Figure 1 Space partition schematic diagram;
[0035] Figure 2 Schematic diagram of the relationship between the calculation region and the import region;
[0036] Figure 3 Schematic diagram of planar region division;
[0037] Figure 4 Schematic diagram of the molecular dynamics simulation process on a single node of the present application;
[0038] Figure 5 Schematic diagram of the local main memory of the present application;
[0039] Figure 6 Schematic diagram of the seven cache queues subdivided in the neighborhood storage of the present application;
[0040] Figure 7 Working schematic diagram of the position pre-distribution module of the present application;
[0041] Figure 8 Working schematic diagram between the position pre-distribution module and the neighborhood storage of the present application;
[0042] Figure 9 Schematic diagram of the neighborhood search engine of the present application. Detailed Implementation
[0043] The embodiments of this application are described in detail below. Examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain this application, and should not be construed as limiting this application.
[0044] Furthermore, the terms "first" and "second" in the specification, claims, and drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those described herein. At the same time, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. Unless otherwise expressly specified and limited, the terms "set," "arranged," "installed," "connected," and "linked" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to the internal connection of two components or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; they can refer to the internal connection of two components. Those skilled in the art can understand the specific meaning of the above terms in this case based on the specific circumstances and in conjunction with the prior art.
[0045] In molecular dynamics simulations, the computational cost of non-bonded interactions between all atoms is prohibitively high. For a system with n atoms, the time complexity reaches O(n²). Therefore, a cutoff radius is often set in the simulation. Each atom interacts only with atoms within the cutoff radius (adjacent atoms). Neighborhood search, which involves filtering out all adjacent atom pairs in the entire system (the two atoms whose non-bonding forces need to be calculated, hereinafter referred to as atom pairs), is the first step in molecular dynamics simulation.
[0046] Atomic information is distributed and stored across nodes based on spatial domain decomposition. Within the simulation system, space is divided into cubic lattices with side length b, such as... Figure 1 As shown.
[0047] The space corresponding to each grid point is used as the computation region for the distributed nodes. In the midpoint method, nodes are responsible for processing atomic pairs whose midpoints lie within the computation region, thereby dividing the computational tasks among the distributed nodes. Based on this condition, nodes need to obtain atomic information from adjacent spaces; the space required to obtain this information, corresponding to the computation region, is called the import region. Figure 2The diagram illustrates the relationship between the computation region (red) and the import region. The import region has three different shapes, consisting of eight corner regions, twelve edge regions, and six face regions, represented in yellow, green, and orange respectively in the diagram.
[0048] Based on spatial relationships, the import region has 26 directional sources. For easy indexing, it is divided into three layers (upper, middle, and lower) along the Z-axis. Each layer is parallel to the XY plane, and the region on each plane is divided into a 3x3 grid, distinguished according to the cardinal directions (north, south, east, west). Figure 3 As shown.
[0049] Because b> Furthermore, regarding the midpoint condition, nodes only need to calculate the atomic pairs between certain regions. For example, atoms in a corner region only interact with atoms in the computational region, while atoms in a boundary region only interact with diagonally intersecting surface regions and the computational region. Through inductive analysis, the 26 imported regions can be divided into 7 categories, as shown in Table 1. Boundary regions and surface regions are further subdivided using coordinate axes, allowing regions with the same interaction conditions to be grouped into one category.
[0050] Table 1 Import Region Types
[0051] Imported region type Containing region Corner region Upper north-west, upper north-east, upper south-west, upper south-east, lower north-west, lower north-east, lower south-west, lower south-east XY-edge region Mid north-west, mid north-east, mid south-west, mid south-east XZ-edge region Upper north, upper south, lower north, lower south YZ-edge region Upper west, upper east, lower west, lower east X-face region North, south Y-face region West, east Z-face region Upper, lower
[0052] Therefore, the areas that need to interact are shown in Table 2. o represents the interaction area that conforms to the midpoint method, and x represents the two areas that do not need to interact. In addition to all imported areas needing to interact with the calculation area, there are only three other interactions: XY-edge and Z-face, XZ-edge and Y-face, and YZ-edge and X-face.
[0053] Table 2. Schematic diagram of the interactive area
[0054] Region type Computed region Corner region XY-edge region XZ-edge region YZ-edge region X-face region Y-face region Z-face region Computed region o Corner region o x XY-edge region o x x XZ-edge region o x x x YZ-edge region o x x x x X-face region o x x x o x Y-face region o x x o x x x Z-face region o x o x x x x x
[0055] What each node needs to calculate is the non-bonded interaction generated by the atomic pairs in these interactive regions. The neighborhood search engine matches and filters atomic pairs that meet the cutoff radius condition in the interactive regions, providing the coordinates and type information of the atomic pairs for the non-bonded resultant force calculation unit.
[0056] like Figure 4As shown, it is a molecular dynamics simulation process on a single node. Each node corresponds to a distributed storage based molecular dynamics computing device. The distributed storage based molecular dynamics computing device comprises an atomic position pool, a neighborhood search engine, a non-bonding force calculation array, a force accumulation cache and a motion iterator. The atomic position pool is used to store the position information of atoms. The neighborhood search engine is connected to the atomic position pool and is used to obtain the atomic position information from the atomic position pool. The non-bonding force calculation array is connected to the neighborhood search engine and is used to calculate the non-bonding force between the screened atomic pairs. The force accumulation cache is used to cache the calculated non-bonding force for subsequent force accumulation operation. The motion iterator is used to update the position and velocity information of the atoms according to the calculated force. The following specifically introduces the above modules.
[0057] The atomic position pool records the position information of atoms, which includes local atoms and neighborhood atoms, and is saved in the local main memory and the adjacent storage respectively. The neighborhood search engine accesses the atomic queue information by the position information, and performs queue matching in the atomic pair generator to generate all possible atomic pairs, and screens in the multi-stage filter to only give the effective atomic pairs to the non-bonding force calculator for calculation.
[0058] Specifically, the atomic position pool comprises a position information pre-distribution module, a local main memory and an adjacent storage.
[0059] The position information pre-distribution module is used to send the atomic information of the calculation region to the import region of the adjacent node, and receive the atomic information from the adjacent node, so as to realize spatial domain decomposition. The local main memory is used to store the atomic information in the calculation region. The adjacent storage is used to store the atomic information received from the adjacent node and store it according to the neighborhood type.
[0060] Specifically, as shown in the figure, Figure 5 The local main memory comprises a random access memory and a state machine. The random access memory is used to store the atomic position and type information in the calculation region. The state machine is used to control the read and write operations of the local main memory and the adjacent storage in different states such as data initialization, neighborhood search and motion update, so as to ensure the correct flow and processing of data. Whenever data is written, the written data is simultaneously transmitted to the position pre-distribution module. The main memory works in three states, and the state machine works in the initialization state by default until all the initial atomic information is written. When the local main memory and the adjacent storage complete the data loading, they enter the neighborhood search state, at which time the memory is controlled by the neighborhood search engine to read the required atomic information. When the neighborhood search engine releases the control, it enters the waiting state of motion update to respond to the request of the motion iterator. The motion iterator reads the atomic position in a sequential manner and sequentially writes the new position data. Thereafter, the state machine works in the neighborhood search and motion update states until the system operation target is completed.
[0061] According to the neighborhood classification of domain decomposition, the corresponding seven cache queues are subdivided in the neighborhood storage, as shown in Figure 6 The neighborhood storage stores the atomic information classified according to the neighborhood type into the corresponding cache queue, and the neighborhood type includes the corner domain, XY-edge domain, XZ-edge domain, YZ-edge domain, X-face domain, Y-face domain and Z-face domain. The data of the neighborhood storage is derived from the position information pre-distribution module of the adjacent node.
[0062] When the atoms in the calculation region of each node are loaded into the local main memory, the same copy is input to the sending end of the position pre-distribution, which is ready to send the atoms in the edge region to the adjacent node as the import region. Since the atomic coordinates use relative coordinates, in addition to filtering out the atoms that are not adjacent to the target node, the import atomic coordinates also need to be converted. As can be seen, the position information pre-distribution module not only sends the atomic information in the calculation region to the import region of the adjacent node, but also receives the atomic information from the adjacent node. After filtering and coordinate conversion, the received atomic information is stored in the neighborhood storage to support cross-region atomic interaction calculation. As shown in Figure 7 In order to save the resources of the filter and the coordinate converter, the target nodes with edge overlap will share the same filter and coordinate converter, and each level of filtering and conversion only involves one dimension of the three dimensions.
[0063] The sending end of the position information pre-distribution module will generate 26 data paths, and the same, its receiving end will also have 26 data sources. According to the classification in Table 1, the atomic information in the same category import region is arbitrated and aggregated, and stored in the neighborhood storage, as shown in Figure 8 .
[0064] The neighborhood search engine structure of the application is shown in the atomic pair generation schematic table generated by the intra-domain atomic pair generator, which is composed of an interactive atomic pair generator and a multi-level filter. The atomic pair generator sequentially reads atomic positions from the atomic position pool. In the case of only one data reading interface, a multi-level cache is needed to improve the pairing efficiency. The interactive atomic pair generator is used to generate atomic pairs, and the multi-level filter is used to screen out atomic pairs that meet the truncation radius condition.
[0065] The interactive atomic pair generator includes an intra-domain atomic pair generator and an inter-domain atomic pair generator. The intra-domain atomic pair generator is used to process atomic pair pairing within the calculation region, the inter-domain atomic pair generator is used to process atomic pair pairing between the calculation region and the neighborhood, and the atomic pair pairing between the neighborhoods.
[0066] Table 3 Intra-domain atomic pair generator generates atomic pair schematic table
[0067] Clock cycle 0 1 2 3 4 …… N-1 N N+1 N+2 Original queue 0 1 2 3 4 … N-1 0 1 2 Register 1 queue 0 1 2 3 … N-2 N-1 0 1 Register 2 queue 0 1 2 … N-3 N-2 N-1 0 Register 3 queue 0 1 … N-4 N-3 N-2 N-1 Register 4 queue 0 … N-5 N-4 N-3 N-2 Register... queue … … … … …
[0068] Table 4: Inter-domain atom pair generator generated atom pair schematic table
[0069] Clock cycle 0 1 2 3 4 … N-1 N N+1 N+2 Region X original queue 0 1 2 3 4 … N-1 0 1 2 Region Y original queue A B C … … … … … … X register 1 queue 0 1 2 3 4 … N-1 0 1 Y register 1 queue A A A A A A A X register 2 queue 0 1 2 3 4 … N-1 0 Y register 2 queue B B B B B B B X register 3 queue 0 1 2 3 4 … N-1 Y register 3 queue C C C C C C C X register... queue … … … … … … X register... queue … … … … … …
[0070] For the pairing of atoms in the calculation region, i.e. the intra-domain atom pair generator, assuming that there are N atoms in the calculation region, the serial numbers 0~N-1 are read in order, and each clock cycle reads an increment, like the original queue in the inter-domain atom pair generator generated atom pair schematic table. The data of the queue is kept to the next clock cycle by the register, as shown in the register 1 queue, and so on. The original queue and the atom pairing queue of each stage of the register queue can be combined into the atom pairing queue of the pipeline stage, such as the red area formed by the register 1 queue and the original queue, the green area formed by the register 2 queue and the original queue, and so on.
[0071] The inter-domain atom pair generator is responsible for processing the atom pair pairing of the calculation region and the neighborhood, as well as the atom pair pairing between the neighborhoods. Considering that it does not conflict with the intra-domain atom pairing of the calculation region, the atom pairing mode of the calculation region is kept consistent. As shown in Table 4, assuming that there are N atoms 0, 1, 2… in the X region, and M atoms A, B, C… in the Y region, the original queue and the register queue of domain X are consistent with the intra-domain atom pairing in the figure, while the atoms in domain Y are read in order, and are kept after being registered once, so that each atom in domain Y can produce atom pairs with the N atoms in domain X, such as atom A and atoms 0~N-1.
[0072] The atom pair generator of the neighborhood search engine can dynamically adjust the number of atom pairs generated each time according to the load of the later stage calculation unit, to optimize the transmission efficiency of the data stream, and the atom pair generator adopts a multi-stage cache mechanism, which keeps the data to the next clock cycle through the register, forming a pipeline type atom pairing queue, thereby improving the generation efficiency of the atom pairs.
[0073] The atom pairs generated by the atom pair generator do not necessarily satisfy the conditions of the midpoint method and the cutoff radius, so it is necessary to filter out the atom pairs that do not meet the conditions. For atom i and atom j, assuming that their position coordinates relative to the origin of the calculation region are (x i ,y i ,z i ) and (x j ,y j ,z j ), the midpoint method condition requires that the midpoint of the two atoms falls within the calculation region with a side length of b:
[0074]
[0075] In addition, the cutoff radius needs to ensure that the distance between the atom pairs is less than , i.e.
[0076]
[0077] Since it is too expensive to directly calculate the atomic pair distance cost of multiple queues, the condition is approximated as a series of loose conditions that are easy to implement:
[0078]
[0079]
[0080]
[0081] The multi-stage filter of the neighborhood search engine reduces the resource overhead of the subsequent filter and the calculation unit by step-by-step screening, specifically including: the preliminary screening stage quickly excludes obviously non-compliant atomic pairs, and the subsequent refinement stage gradually calculates the accurate distance and screens according to the midpoint method condition and the truncated radius condition, and after each filtering, the multiple queues are re- arbitrated, and the atomic pairs meeting the conditions are merged into one queue to provide efficient data flow for the subsequent calculation.
[0082] The present application realizes spatial domain decomposition through position information pre-distribution and adjacency storage module, the task can be completely parallel on the distributed system, realizes the high -efficient flow line type calculation, and has carried out the high -efficient multiplexing to the pre-distribution and storage resource, reduced the resource overhead.Secondly, the parallel number of interactive atomic pair generator can be adjusted according to the different scale of subsequent calculation array, to adapt to actual hardware overhead and design, the structure of multi-stage filtering can save a lot of secondary filter, tertiary filter, improves the hardware utilization efficiency.
[0083] The basic principles, main features and advantages of the present application are shown and described above. Those skilled in the art should understand that the above examples do not limit the present application in any form, and any technical solution obtained by equivalent replacement or equivalent transformation falls within the scope of the present application.
Claims
1. A device for molecular dynamics calculation based on distributed storage, characterized by, The method comprises the following steps: An atomic position pool is used to store the position information of atoms; A neighborhood search engine is connected to the atomic position pool and used to obtain atomic position information from the atomic position pool; The atomic position pool comprises: A position information pre-distribution module is used to send atomic information of a calculation region to an import region of a neighboring node and receive atomic information from the neighboring node, thereby realizing spatial domain decomposition; A local main memory is used to store atomic information within the calculation region; An adjacency storage is used to store atomic information received from the neighboring node and store the atomic information according to neighborhood types; The neighborhood search engine comprises: An interactive atomic pair generator is used to generate atomic pairs; A multi-stage filter is used to screen out atomic pairs that meet the truncation radius condition.
2. The distributed storage-based molecular dynamics calculation device according to claim 1, wherein The adjacency storage stores atomic information in corresponding cache queues according to neighborhood types, and the neighborhood types include an angular domain, an XY-edge domain, an XZ-edge domain, a YZ-edge domain, an X-face domain, a Y-face domain and a Z-face domain.
3. The distributed storage-based molecular dynamics calculation device according to claim 1, wherein The local main memory comprises: A random access memory is used to store atomic position and type information within the calculation region; A state machine is used to control the read-write operation of the local main memory and the adjacency storage in different states such as data initialization, neighborhood search and motion update, so as to ensure the correct flow and processing of data.
4. The distributed storage-based molecular dynamics calculation device according to claim 1, wherein The position information pre-distribution module not only sends atomic information of the calculation region to the import region of the neighboring node, but also receives atomic information from the neighboring node, and the received atomic information is stored in the adjacency storage after being filtered and converted in coordinates, so as to support atomic interaction calculation across regions.
5. The distributed storage-based molecular dynamics calculation device according to claim 1, wherein The atomic pair generator of the neighborhood search engine can dynamically adjust the number of atomic pairs generated each time according to the load condition of the subsequent calculation unit, so as to optimize the transmission efficiency of data flow, and the atomic pair generator adopts a multi-stage cache mechanism, which retains data to the next clock cycle through a register, forms a pipeline type atomic pairing queue, and thereby improves the generation efficiency of atomic pairs.
6. The distributed storage-based molecular dynamics calculation device according to claim 1, wherein The interactive atomic pair generator comprises an intra-domain atomic pair generator and an inter-domain atomic pair generator, the intra-domain atomic pair generator is used to process atomic pair pairing within the calculation region, the inter-domain atomic pair generator is used to process atomic pair pairing between the calculation region and the neighborhood, and the atomic pair pairing between the neighborhoods.
7. The distributed storage-based molecular dynamics calculation device according to claim 1, wherein The multi-stage filter of the neighborhood search engine reduces the resource overhead of the filter by step-by-step screening, specifically including: a preliminary screening stage for quickly excluding obviously non-compliant atom pairs, and a subsequent refinement stage for gradually calculating accurate distances and screening according to the midpoint method condition and the cutoff radius condition, re-arbitrating multiple queues after each filtering, and merging the atom pairs that meet the conditions into one queue to provide efficient data flow for subsequent level calculations.
8. The distributed storage based molecular dynamics calculation device according to claim 1, wherein, The distributed storage based molecular dynamics calculation device further comprises: a non-bonding force calculation array connected to the neighborhood search engine and configured to calculate the non-bonding force between the screened atom pairs.
9. The distributed storage based molecular dynamics calculation device according to claim 1, wherein, The distributed storage based molecular dynamics calculation device further comprises: a force accumulation cache configured to cache the calculated non-bonding force for subsequent force accumulation operations.
10. The distributed storage based molecular dynamics calculation device according to claim 1, wherein, The distributed storage based molecular dynamics calculation device further comprises: a motion iterator configured to update the position and velocity information of the atoms according to the calculated force.
Citation Information
Patent Citations
Large-scale high-speed molecular dynamics calculation method based on FPGA heterogeneous calculation platform
CN115527617A
Searching method and device of spatial neighbor particles, electronic equipment and storage medium
CN116956778A
Molecular dynamics non-covalent bond calculation method and device
CN118098385A
Efficient storage method and system for distributed molecular dynamics simulation calculation
CN120808910A
Processing agent controller for operating in agent-based distributed simulation system
CN120836031A
Cited By
Heterogeneous nodal electrostatic computing device for molecular dynamics simulation
CN122086636B