Covalent bond calculation task allocation method and system

By dividing the covalent bond calculation task into multiple task subsets and dynamically splitting it into batches when hardware limitations are exceeded, combined with optimized data structures, the problem of storage exceeding the limit of a single computing unit is solved, and efficient calculations for ultra-large-scale or complex molecular systems are achieved.

CN121560504APending Publication Date: 2026-02-24SHANGHAI SMARTLOGIC TECHNOLOGY LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511431901.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-30
Publication Date
2026-02-24

AI Technical Summary

Technical Problem

When dealing with ultra-large-scale or extremely complex covalent bond calculation tasks, the storage space required by a single computing unit far exceeds the hardware limitations, leading to allocation failures and the inability to perform effective calculations.

Method used

The covalent bond calculation task is divided into multiple task subsets based on the structural features of molecules. The storage requirements of each subset are evaluated, and the task is dynamically split into multiple batches when the hardware limitations are exceeded. The task is completed through multiple loop calculations. Combined with optimized data structures to reduce storage overhead, the feasibility of the calculation is ensured.

Benefits of technology

It has made computational feasibility possible for ultra-large-scale or structurally complex molecular systems, improved the success rate of task allocation, optimized resource utilization efficiency, reduced data access latency, and enhanced computational efficiency and stability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121560504A_ABST
    Figure CN121560504A_ABST
Patent Text Reader

Abstract

The invention provides a covalent bond calculation task allocation method and system, and the method comprises the steps: dividing a covalent bond calculation task into a plurality of task subsets based on the structural features of molecules; evaluating a storage space m occupied when each task subset is executed, and comparing the storage space m with a preset storage limit n; when m is larger than n, the task subsets are dynamically split into a plurality of batches, the storage space occupied by the task amount of each batch does not exceed n, and all the batches are sequentially processed through multiple times of cyclic calculation till calculation of all the task subsets is completed. The covalent bond calculation task allocation method based on load balancing solves the problem that in the prior art, allocation fails when the storage space required by the task load of a single calculation unit is far beyond the hardware limitation of the covalent bond calculation task allocation method.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of covalent bond computation task allocation, and more particularly to a method and system for covalent bond computation task allocation. Background Technology

[0002] In molecular dynamics simulations, particularly in materials systems, the calculation of covalent bonds (including bond stretching, bond angle bending, and dihedral distortion) is a core component. Compared to biological systems, materials system simulations typically involve a much larger number of atoms and more complex bond angle relationships, placing higher demands on computational efficiency and resource management. To address this challenge, various task allocation strategies have been developed in this field, such as equal partitioning methods based on atom numbering and three-dimensional spatial simulation, task list merging and classification methods based on nonlinear molecular atom correlations, and methods using the amino acid residues to which the target atom belongs as the partitioning criterion. The core idea of ​​these methods is to distribute computational tasks as evenly as possible across various computational units through clever partitioning algorithms, aiming to achieve a balance between limited storage resources and computational efficiency, thereby effectively improving the overall computational performance of the simulation.

[0003] However, as the complexity and scale of the simulation system continue to grow, the storage space *m* required for the tasks allocated to a single computing unit far exceeds the physical storage limit *n* of that unit. In this case, the allocation method aimed at achieving "load balancing" will encounter a bottleneck. Because a single computing unit cannot accommodate all assigned tasks at once, the allocation process will fail directly, and computation cannot proceed. Therefore, when dealing with ultra-large-scale or extremely complex covalent bond computation tasks, a more flexible solution that transcends traditional balanced allocation approaches is urgently needed.

[0004] In view of this, it is necessary to propose improvements to the existing allocation scheme in order to solve the aforementioned technical problems. Summary of the Invention

[0005] The purpose of this invention is to provide a method and system for allocating covalent bond calculation tasks, in order to solve the problem that the existing load balancing-based covalent bond calculation task allocation method fails when the storage space required by the task of a single computing unit far exceeds its hardware limitations, thus ensuring the computational feasibility of large-scale or complex molecular system simulations.

[0006] To achieve the above objectives, the present invention is implemented as follows:

[0007] In a first aspect, the present invention provides a method for allocating covalent bond calculation tasks, comprising:

[0008] Based on the structural characteristics of molecules, the covalent bond calculation task is divided into multiple task subsets;

[0009] Evaluate the storage space m required for the execution of each of the task subsets, and compare the storage space m with a preset storage limit n;

[0010] When m is greater than n, the task subset is dynamically split into multiple batches, where the storage space occupied by the task in each batch does not exceed n, and each batch is processed sequentially through multiple loop calculations until all task subsets are calculated.

[0011] Secondly, the present invention provides a covalent bond calculation task allocation system, comprising:

[0012] The task partitioning module is used to divide the covalent bond calculation task into multiple task subsets based on the structural characteristics of the molecule;

[0013] A storage evaluation module is used to evaluate the storage space m required for the execution of each of the task subsets, and compare the storage space m with a preset storage limit n; and,

[0014] The batch processing module is used to dynamically split the task subset into multiple batches when m is greater than n, wherein the storage space occupied by the task in each batch does not exceed n, and the module controls the computing unit to perform multiple loop calculations to process each batch in sequence until all task subsets are calculated.

[0015] The method of the present invention is applied to the calculation of covalent bond interactions in molecular dynamics simulations, wherein the computing unit is a GPU, CPU, or many-core processor.

[0016] Thirdly, the present invention also provides a computer-readable storage medium on which a computer program is stored, wherein the computer program, when executed by a processor, implements the steps of the method described in the first aspect.

[0017] Fourthly, a terminal device is provided, comprising:

[0018] processor;

[0019] Memory, used to store program instructions;

[0020] When the program instructions are executed by the processor, they are configured to cause the terminal device to perform the steps of the method described in the first aspect.

[0021] The beneficial effects of this invention are as follows:

[0022] The covalent bond calculation task allocation method of this invention successfully solves the fundamental problem of task allocation failure when the storage space *m* required for the computational tasks on a single computing unit far exceeds its hardware storage limit *n* by introducing a storage space evaluation and dynamic batch processing mechanism. This makes it possible to simulate ultra-large-scale or highly complex material systems. Compared to existing technologies that solely pursue load balancing and cannot address the bottleneck of storage overload, this invention adopts a more pragmatic and flexible approach: first, it evaluates the storage requirements of a subset of tasks, and when *m* > *n*, it automatically and dynamically splits the subset into multiple batches with storage occupancy not exceeding *n*, completing all tasks through multiple iterative calculations by the computing unit. This method greatly improves the success rate of task allocation and ensures the feasibility of computation. Furthermore, this invention has broad applicability because its task partitioning basis (structural features) and storage evaluation mechanism are not dependent on specific molecule types (such as biomolecules or material systems), making it universally applicable to various complex molecular dynamics simulation scenarios. In addition, by releasing the resources of processed batches after each iterative calculation, this invention achieves efficient recycling of limited storage space, maintaining high resource utilization efficiency while ensuring computation can proceed.

[0023] Furthermore, this invention accurately assesses storage space by statistically counting the number of various covalent bonds, and combines this with sorting computational tasks by atom number or spatial proximity before dynamic splitting, followed by a splitting algorithm that adds tasks sequentially and accumulates them in real time. This series of coordinated operations not only ensures the feasibility of batch processing but also significantly optimizes data locality. In each loop computation, the atomic data processed simultaneously are located closer in memory, greatly improving the processor cache hit rate, thereby effectively reducing data access latency and bringing an additional computational efficiency improvement far exceeding that of simple batch processing.

[0024] Furthermore, this invention provides an intelligent resource management strategy by introducing a preprocessing step that optimizes the data structure. When the assessment finds that the storage limit is not severe, it prioritizes optimizing the data structure to reduce storage overhead, thereby avoiding the activation of the dynamic splitting mechanism. This effectively avoids the loop control overhead caused by batch processing, and under permissible conditions, achieves a single-cycle computation efficiency similar to that under no storage limit, demonstrating the method's adaptability and efficiency. Attached Figure Description

[0025] Figure 1 A schematic flowchart illustrating a covalent bond calculation task allocation method according to an embodiment of the present invention;

[0026] Figure 2 A schematic flowchart illustrating a covalent bond calculation task allocation method according to another embodiment of the present invention;

[0027] Figure 3This is a schematic flowchart illustrating a covalent bond calculation task allocation method according to another embodiment of the present invention;

[0028] Figure 4 This is a schematic flowchart illustrating a covalent bond calculation task allocation method according to another embodiment of the present invention;

[0029] Figure 5 This is a schematic flowchart illustrating a covalent bond calculation task allocation method according to another embodiment of the present invention;

[0030] Figure 6 This is a schematic flowchart illustrating a covalent bond calculation task allocation method according to a specific embodiment of the present invention;

[0031] Figure 7 A schematic structural block diagram of a covalent bond calculation task allocation system according to an embodiment of the present invention;

[0032] Figure 8 This is a topology diagram of a computer-readable storage medium disclosed in this invention. Detailed Implementation

[0033] The present invention will now be described in detail with reference to the embodiments shown in the accompanying drawings. However, it should be noted that these embodiments are not intended to limit the present invention. Equivalent changes or substitutions in function, method, or structure made by those skilled in the art based on these embodiments are all within the scope of protection of the present invention.

[0034] The technical solutions provided by the various embodiments of the present invention will be described in detail below with reference to the accompanying drawings.

[0035] Example 1:

[0036] like Figure 1 As shown, this embodiment provides a method for allocating covalent bond calculation tasks (hereinafter referred to as the "allocation method" or "method"), applied to a covalent bond calculation task allocation system (hereinafter referred to as the "system"). The method includes:

[0037] Step 102. Based on the structural features of the molecule, the covalent bond calculation task is divided into multiple task subsets. The structural features include at least one of atom numbering, three-dimensional spatial distribution, atom correlation, or the amino acid residues to which the atom belongs. The covalent bond calculation task includes one or more of the following: bond stretching potential, bond angle bending potential, dihedral angle twisting potential, and off-planar angle potential.

[0038] Instead of employing a single or random strategy, the task partitioning is based on the intrinsic structural features of the molecule, including atom numbering, three-dimensional spatial distribution, atomic correlation, and the amino acid residues they belong to. This partitioning strategy ensures that spatially proximate or chemically related atoms are grouped into the same task subset as much as possible. Simultaneously, the covalent bond calculation tasks comprehensively cover key interaction types in the molecular force field, including bond stretching potential, bond angle bending potential, dihedral angle twisting potential, and off-plane angle potential. This setup significantly optimizes data locality during computation. Because atoms and bonds processed within the same subset are closely related in physical space or chemical links, computational units can effectively reduce remote memory accesses when accessing required data, thereby improving cache hit rates and laying a solid foundation for subsequent efficient computation (especially batch processing). Furthermore, this partitioning method based on multi-dimensional structural features possesses both universality and flexibility, enabling it to effectively address the challenges of various simulation scenarios, from biomacromolecules to complex material systems.

[0039] Step 104. Evaluate the storage space m required for the execution of each task subset and compare the storage space m with the preset storage limit n.

[0040] like Figure 2 As shown, the storage space m required for the execution of each task subset is evaluated, including:

[0041] Step 201. Count the number of covalent bond calculation tasks of each type in the task subset.

[0042] Step 202. Calculate the unit storage cost of the task based on each type of covalent bond, and calculate the total storage space m of the task subset.

[0043] It should be understood that a crucial pre-evaluation step is introduced after task partitioning to accurately quantify the storage requirements of each task subset. First, the specific number of various covalent bond calculation tasks (such as bond stretching, bond corner bending, etc.) within the subset is counted. Then, based on the pre-determined unit storage overhead for each type of task, the total storage space *m* required for that subset is accurately calculated. This setup transforms the assessment of whether storage resources are sufficient from a vague risk that may only surface at runtime into a clear, pre-emptive decision-making basis. By objectively comparing the calculated *m* with the hardware-preset storage limit *n*, the system can reliably identify which task subsets will trigger storage overruns in advance. This provides crucial data support for subsequent adaptive resource management strategies such as dynamic batch processing, fundamentally avoiding computational interruptions caused by memory overflows and ensuring the stability and predictability of large-scale simulation tasks.

[0044] Step 106. When m is greater than n, dynamically split the task subset into multiple batches, where the storage space occupied by the task in each batch does not exceed n, and process each batch in turn through multiple loop calculations until all task subsets are calculated.

[0045] It should be noted that if the storage space m is greater than n but the excess does not exceed a set threshold, the value of m is reduced by optimizing the storage data structure of the computing task so that the optimized value of m is less than or equal to n, thereby avoiding dynamic splitting.

[0046] Understandably, this embodiment provides a layered, intelligent resource management strategy to address the challenge of storage overruns. When the system detects that the storage space m required by a subset of tasks exceeds the hardware limit n, it dynamically splits it into several batches with storage occupancy not exceeding n. These batches are then processed repeatedly by the computing units until completion, fundamentally ensuring the feasibility of large-scale computing tasks. Crucially, this embodiment also introduces a priority optimization strategy: if m is greater than n but the excess is within a preset threshold, the system will prioritize optimizing the task's data structure (such as data compression or memory pooling techniques) to reduce storage overhead, thereby avoiding the splitting process that incurs loop control overhead during startup. This setup achieves an optimal balance between computational efficiency and resource consumption—for minor overruns, optimization avoids splitting, maintaining near-unconstrained single-run computation efficiency; for severe overruns, a reliable splitting mechanism ensures task completion, thus achieving efficient and reliable computation in various scenarios.

[0047] like Figure 3 As shown, the operation of "processing each batch sequentially through multiple iterative calculations" in step 106 includes:

[0048] Step 301. After each loop calculation is completed, release the storage space of the calculated batch.

[0049] The operations following step 301 also include:

[0050] Step 302. After all calculation units have completed the calculation of the current loop, determine whether all batches have been calculated.

[0051] Step 303. If not completed, proceed to the next cycle synchronously, and each computing unit loads the next batch of task data for calculation.

[0052] It should be understood that this embodiment ensures the efficiency and reliability of the batch processing through a sophisticated cyclic calculation and synchronization control mechanism. This mechanism comprises two levels: at the individual computing unit level, the storage space of the current batch is released immediately after each cyclic calculation (see step 301) to achieve immediate reclamation and recycling of limited storage resources, freeing up necessary space for loading the next batch of data; at the system level, a crucial synchronization control step is introduced (see steps 302 and 303), whereby a completion rate is uniformly determined after all computing units have completed their current cycle, and all units are directed to synchronously enter the next cycle. This setup effectively balances computational efficiency and result accuracy: unit-level resource release ensures the continuous execution of computational tasks, while system-level synchronization barriers effectively prevent data competition or state inconsistencies that may arise due to differences in processing speeds between different computing units. This is particularly suitable for molecular dynamics simulations requiring frequent cross-node data communication, thereby ensuring the stability and accuracy of large-scale computational tasks in a parallel environment.

[0053] like Figure 4 As shown, the procedure before step 102 also includes:

[0054] Step 101. Sort the covalent bond calculation tasks in the task subset according to atom number or spatial proximity. By intelligently combining the pre-sorting process with the dynamic splitting algorithm, the efficiency and quality of batch processing are significantly improved. Specifically, before dynamic splitting begins, all calculation tasks in the task subset are sorted according to atom number or spatial proximity, so that atoms that are physically adjacent or logically closely related are preferentially grouped together.

[0055] Then, such as Figure 5 As shown, the operation of "dynamically splitting the task subset into multiple batches" in step 106 includes:

[0056] Step 501. Add covalent bond calculation tasks to the current batch in sequence, and accumulate the storage space occupied by the current batch in real time;

[0057] Step 502. When the accumulated storage space reaches or approaches n, complete the creation of the current batch and initialize the next batch to continue adding tasks.

[0058] Based on the sorting results of step 101, this embodiment employs a dynamic splitting process (see steps 501 and 502) using a sequential addition and real-time accumulation algorithm to fill tasks into the current batch sequentially until its storage usage approaches the upper limit n. This significantly optimizes data locality: since tasks processed within the same batch are spatially or logically highly correlated, the data required by the computing unit during execution is highly likely to already reside in the cache, thereby greatly reducing data access latency and improving cache hit rate and computational efficiency. Simultaneously, the method in this embodiment also makes the computational tasks within each batch more compact and coherent, laying an efficient data foundation for subsequent computations.

[0059] In any of the above embodiments, a learning and prediction mechanism can be introduced to enable the system to intelligently predict task requirements, thereby optimizing resource allocation in advance. Specifically, this includes:

[0060] 1. Historical Data Recording and Analysis: After each covalent bond calculation task is completed, the system records key data and stores it in a historical database, which is continuously updated over time. The key data includes:

[0061] Molecular fingerprinting: Extracting and recording key features of the molecular task, such as total number of atoms, number of heavy atoms, degree of branching, number of rings, number of specific functional groups, etc.

[0062] Record the number of task subsets and the size of each subset (number of atoms / bonds).

[0063] Storage requirements: Record the estimated storage space m for each task subset.

[0064] Processing result: Record whether the task subset triggered dynamic splitting (yes / no). If it was triggered, record the final batch number s.

[0065] 2. Establish a predictive model: Based on accumulated historical data, a predictive model is established by training it using machine learning algorithms (such as regression models, decision trees, or neural networks). The input of this model is the new molecular feature fingerprint, and the output is the predicted storage requirement m' for the molecular computation task and the optimal task subset partitioning strategy.

[0066] 3. New Task Preprocessing and Optimization: When a new computational task arrives, the system first extracts its molecular feature fingerprint, inputs the feature fingerprint into the prediction model to obtain the predicted storage requirement m', and then performs decision-making and optimization.

[0067] If m' is significantly greater than n: the model directly recommends an optimal batch size. When performing step 106 (dynamic splitting), this recommended value can be directly used as the initial batch size to quickly complete the splitting and reduce real-time decision-making overhead.

[0068] If m' is slightly greater than n (within the threshold): When the system divides the task subset in step 102, it actively adopts the model-recommended, more refined partitioning strategy. The goal is to directly generate a new task subset with storage requirements m”≤n, thereby avoiding subsequent dynamic splitting at the source.

[0069] 4. Model Feedback and Update: The actual processing results of new tasks (such as actual storage usage, whether splitting, etc.) are fed back to the historical database as new sample data for periodic retraining and optimization of the prediction model, so as to realize the self-evolution of the system.

[0070] This embodiment introduces a prediction and preprocessing mechanism based on historical data, achieving a shift from passive response to proactive optimization: the system builds a predictive model by learning from historical task data, accurately estimating the storage requirements of new tasks before execution and intelligently adjusting the task partitioning strategy accordingly. For tasks predicted to slightly exceed storage limits, the system performs more refined pre-partitioning, preventing dynamic splitting from the outset and effectively eliminating the loop control overhead of batch processing; for tasks predicted to severely exceed limits, the optimal batch size is determined in advance, significantly reducing real-time decision-making time. This not only significantly improves resource utilization efficiency and computing speed but also endows the system with continuous self-learning and adaptive capabilities, constantly optimizing as the number of tasks processed increases. It is particularly suitable for long-term, large-scale scientific computing scenarios, thus achieving more intelligent and efficient computing resource management overall.

[0071] like Figure 6 As shown, the specific implementation process of the covalent bond calculation task allocation method is as follows:

[0072] Step 601. Task Partitioning. Based on the multidimensional structural features of molecules, the overall covalent bond calculation task is rationally divided into multiple task subsets and assigned to different computational units. Structural features include, but are not limited to, atom numbering, three-dimensional spatial distribution, inter-atomic correlations, and the amino acid residues to which the target atom belongs. By integrating these features, initial task allocation can be completed while taking into account both load balancing and data locality.

[0073] Step 602. Storage Requirement Assessment. For each subset of tasks allocated to a computing unit, count the number of various covalent bond calculation tasks, such as the number of calculation tasks for bond stretching potentials, bond angle bending potentials, dihedral angle twisting potentials, and off-plane angle potentials. Then, based on the pre-defined unit storage overhead for each type of task, accurately calculate the total storage space m required for the execution of that subset of tasks.

[0074] Step 603. Storage Limit Determination. Compare the calculated storage space requirement m with the preset storage limit n of the computing unit.

[0075] If m <= n, it indicates that the task subset can be computed in one go within the storage limit, and the process proceeds to step 604 for normal computation.

[0076] If m>n, it indicates that the subset of tasks has exceeded the storage capacity of the current unit and cannot be processed all at once. The process then proceeds to step 605 for batch processing.

[0077] Step 604. Normal calculation. For a subset of tasks that satisfy m <= n, the calculation unit directly loads all task data and performs the calculation.

[0078] Step 605. Dynamic Batch and Loop Computation. For a subset of tasks that exceed the storage limit (m>n), perform the following operations:

[0079] Step 6051. Dynamic splitting: Dynamically split the original task subset into several batches, ensuring that the storage space required for each batch of tasks is no greater than n.

[0080] Step 6052. Loop execution (the computing unit processes each batch sequentially): Load the data of one batch into memory, perform the calculation, release the storage resources of that batch after completion, and then load the next batch. This process is repeated until all batches have been calculated.

[0081] Step 6053. Completion Check: After each batch of calculations is completed, check whether all batches have been processed. If not, return to step 6052 to continue executing the next batch; if completed, end the calculation of this subset of tasks.

[0082] Step 606. Calculation Complete. Once all task subsets (including normal calculations and batch calculations) on all computing units have been processed, the entire covalent bond calculation task is complete.

[0083] The covalent bond calculation task allocation method of this embodiment successfully solves the fundamental problem of task allocation failure when the storage space m required for the computational tasks on a single computing unit far exceeds its hardware storage limit n by introducing a storage space evaluation and dynamic batch processing mechanism. This makes it possible to simulate ultra-large-scale or highly complex material systems. Compared with the prior art, which pursues load balancing but cannot cope with the bottleneck of storage overload, this embodiment adopts a more pragmatic and flexible approach: first, it evaluates the storage requirements of a subset of tasks, and when it finds that m > n, it automatically and dynamically splits the subset into multiple batches with storage occupancy not exceeding n, and completes all tasks through multiple loop calculations by the computing unit. This method greatly improves the success rate of task allocation and ensures the feasibility of computation. At the same time, this embodiment has broad applicability because its task partitioning basis (structural features) and storage evaluation mechanism do not depend on specific molecule types (such as biomolecules or material systems), and can be universally applied to various complex molecular dynamics simulation scenarios. In addition, by releasing the resources of the processed batches after each loop calculation, this invention achieves efficient recycling of limited storage space, ensuring that computation can be performed while maintaining high resource utilization efficiency.

[0084] Example 2:

[0085] like Figure 7 As shown, this embodiment provides a covalent bond calculation task allocation system 700 (hereinafter referred to as the "system"), including a task partitioning module 701, used to divide the covalent bond calculation task into multiple task subsets according to the structural characteristics of the molecule; a storage evaluation module 702, used to evaluate the storage space m required for the execution of each task subset, and compare the storage space m with a preset storage limit n; and a batch processing module 703, used to dynamically split the task subset into multiple batches when m is greater than n, wherein the storage space occupied by the task in each batch does not exceed n, and to process each batch in turn by controlling the calculation unit to perform multiple loop calculations until all task subsets are calculated.

[0086] The covalent bond calculation task allocation system 700 provided in this embodiment effectively solves the technical problem that task allocation inevitably fails when the storage space m required for covalent bond calculation tasks on a single computing unit far exceeds its hardware storage limit n, through the coordinated operation of the task partitioning module 701, storage evaluation module 702, and batch processing module 703. The system 700 uses the storage evaluation module 702 to accurately quantify resource requirements, and the batch processing module 703 automatically initiates a dynamic splitting and cyclic calculation mechanism when resources exceed the limit, thereby decomposing large-scale tasks into manageable batches and ensuring the ultimate feasibility of the calculation tasks. The system 700 in this embodiment not only significantly improves the success rate of task allocation in complex molecular system simulations but also achieves refined management and efficient recycling of storage resources through modular design, improving the stability and efficiency of the entire calculation process while ensuring the completion of calculations.

[0087] The system 700 in this embodiment also includes a resource optimization module 704, used to determine whether the extent to which m exceeds n is within a preset threshold. If so, it initiates a process of "optimizing the storage data structure" (such as data compression, memory pool technology) to attempt to reduce m to below n, thereby avoiding the overhead caused by dynamic splitting. The system 700 also includes a computation control and synchronization module 705, responsible for receiving all executable tasks (including those calculated directly and those processed in batches) and controlling the execution of the computation units.

[0088] This embodiment perfectly combines the core process (partitioning-evaluation-processing) with intelligent optimization (resource optimization module) and precise execution control (computation control and synchronization module). It not only solves the basic computational feasibility problem when storage limits are exceeded, but also significantly improves computational efficiency through two-level optimization (prioritizing data structure optimization and only batching as a last resort). Furthermore, centralized synchronization control ensures the reliability and stability of large-scale parallel computing, forming a complete, robust, and efficient task allocation and execution solution.

[0089] It should be noted that the scheme or principle involved in the covalent bond calculation task allocation system 700 in this embodiment is the same as that in Embodiment 1, and the same or similar contents will not be described in detail.

[0090] Example 3:

[0091] This invention also provides a terminal device, which may include a processor, a memory, and a computer program stored in the memory and executable on the processor, wherein the computer program, when executed by the processor, implements the above-described functionality. Figure 1-6 The various processes of the covalent bond calculation task allocation method embodiment shown herein can achieve the same technical effect, and will not be described again here to avoid repetition.

[0092] Combination Figure 8 As shown, this embodiment also discloses a specific implementation of a computer-readable storage medium 800. This computer-readable storage medium 800 can be configured wholly or partially in a physical computer, server, cluster server, or data center.

[0093] In this embodiment, the computer-readable storage medium 800 stores computer program instructions 801. The computer program instructions 801 are read and executed by a processor 802 to perform the steps in the covalent bond calculation task allocation method disclosed in Embodiment 1.

[0094] Optionally, the computer-readable storage medium 800 can be configured as a server, and the server runs on a physical device used to build a private cloud, hybrid cloud, or public cloud. The computer-readable storage medium 800 can also be configured as random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), etc.

[0095] The computer-readable storage medium 800 is used to store a program, and the processor 802, upon receiving an execution instruction, executes the covalent bond calculation task allocation method disclosed in Embodiment 1.

[0096] Meanwhile, the processor 802 disclosed in this embodiment may be an integrated circuit chip with signal processing capabilities. The processor 802 can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this invention. The general-purpose processor can be a microprocessor or any conventional processor.

[0097] The technical solution of the same part in the computer-readable storage medium 800 disclosed in this embodiment as in Embodiment 1 and / or Embodiment 2 is described in Embodiment 1 and / or Embodiment 2, and will not be repeated here.

[0098] The detailed descriptions listed above are merely specific descriptions of feasible embodiments of the present invention, and are not intended to limit the scope of protection of the present invention. All equivalent embodiments or modifications made without departing from the spirit of the present invention should be included within the scope of protection of the present invention.

[0099] It will be apparent to those skilled in the art that the present invention is not limited to the details of the exemplary embodiments described above, and that the invention can be implemented in other specific forms without departing from its spirit or essential characteristics. Therefore, the embodiments should be considered in all respects as exemplary and non-limiting, and the scope of the invention is defined by the appended claims rather than the foregoing description. Thus, all variations falling within the meaning and scope of equivalents of the claims are intended to be included within the present invention. No reference numerals in the claims should be construed as limiting the scope of the claims.

[0100] Furthermore, it should be understood that although this specification describes embodiments, not every embodiment contains only one independent technical solution. This narrative style is merely for clarity. Those skilled in the art should consider the specification as a whole, and the technical solutions in each embodiment can also be appropriately combined to form other embodiments that can be understood by those skilled in the art.

Claims

1. A method for allocating covalent bond calculation tasks, characterized in that, include: Based on the structural characteristics of molecules, the covalent bond calculation task is divided into multiple task subsets; Evaluate the storage space m required for the execution of each of the task subsets, and compare the storage space m with a preset storage limit n; When m is greater than n, the task subset is dynamically split into multiple batches, where the storage space occupied by the task in each batch does not exceed n, and each batch is processed sequentially through multiple loop calculations until all task subsets are calculated.

2. The method according to claim 1, characterized in that, The structural features include at least one of atom numbering, three-dimensional spatial distribution, atom correlation, or the amino acid residues to which they belong.

3. The method according to claim 1, characterized in that, The covalent bond calculation task includes one or more of the following: bond stretching potential, bond angle bending potential, dihedral angle twisting potential, and off-plane angle potential.

4. The method according to claim 3, characterized in that, The evaluation of the storage space m required for the execution of each of the task subsets includes: Count the number of covalent bond calculation tasks of each type in the task subset; Calculate the total storage space m of the task subset based on the unit storage overhead of the task for each type of covalent bond.

5. The method according to claim 1, characterized in that, Before dynamically splitting the task subset into multiple batches, the following is also included: The covalent bond calculation tasks in the aforementioned task subset are sorted according to atom number or spatial proximity.

6. The method according to claim 5, characterized in that, The task subset is dynamically split into multiple batches, including: Add covalent bond calculation tasks to the current batch in sequence, and accumulate the storage space occupied by the current batch in real time; When the accumulated storage space reaches or approaches n, the creation of the current batch is completed, and the next batch is initialized to continue adding tasks.

7. The method according to claim 1, characterized in that, The process of sequentially processing each batch through multiple iterative calculations includes: After each loop calculation is completed, the storage space of the calculated batch is released.

8. The method according to claim 7, characterized in that, The process of sequentially processing each batch through multiple iterative calculations also includes: After all calculation units have completed the calculation for the current loop, a unified determination is made as to whether all batches have been calculated. If the task is not completed, the process will proceed to the next cycle, and each computing unit will load the next batch of task data for calculation.

9. The method according to claim 1, characterized in that, After evaluating the storage space m required for the execution of each of the task subsets, the following is also included: If the storage space m is greater than n but the excess does not exceed a set threshold, the value of m is reduced by optimizing the storage data structure of the computing task so that the optimized value of m is less than or equal to n, thereby avoiding dynamic splitting.

10. A covalent bond computation task allocation system, characterized in that, include: The task partitioning module is used to divide the covalent bond calculation task into multiple task subsets based on the structural characteristics of the molecule; The storage evaluation module is used to evaluate the storage space m required when each of the task subsets is executed, and compare the storage space m with the preset storage limit n; as well as, The batch processing module is used to dynamically split the task subset into multiple batches when m is greater than n, wherein the storage space occupied by the task in each batch does not exceed n, and the module controls the computing unit to perform multiple loop calculations to process each batch in sequence until all task subsets are calculated.