An efficient simulation method and device based on hierarchical scheduling optimization

CN115545192BActive Publication Date: 2026-06-09PEKING UNIV

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
PEKING UNIV
Filing Date
2022-09-15
Publication Date
2026-06-09

AI Technical Summary

Technical Problem

Existing simulation methods cannot efficiently solve the linear equations of fine neuron models, resulting in excessively long simulation times for large-scale fine neural networks, which has become a bottleneck in the simulation process.

Method used

A hierarchical scheduling optimization method is adopted to obtain a set of linear equations representing tree-like computational dependencies, determine the parallel computing process, and perform simulation calculations on parallelizable computing devices. The simulation efficiency is improved by optimizing the parallel computing process.

Benefits of technology

It improves the efficiency of simulation calculation and processing, reduces the computational cost, makes the simulation results more intuitive, and enhances the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115545192B_ABST
    Figure CN115545192B_ABST
Patent Text Reader

Abstract

The application relates to an efficient simulation method and device based on hierarchical scheduling optimization. The method comprises the following steps: acquiring a linear equation set representing a tree-shaped calculation dependency relationship; determining a parallel calculation process according to the linear equation set; and performing simulation calculation on a parallel computing device according to the parallel calculation process to obtain a simulation result. The application improves the processing efficiency of simulation calculation processing.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of simulation technology, and more specifically, to an efficient simulation method and apparatus based on hierarchical scheduling optimization. Background Technology

[0002] Individual neurons in the biological brain possess highly complex dendritic structures. Extensive research has demonstrated that the nonlinear characteristics of these dendritic structures in signal processing endow individual brain neurons with powerful information processing capabilities. Therefore, sophisticated neuron models with dendritic structures can be used for brain simulation. Large-scale sophisticated neural networks, composed of numerous sophisticated neuron models, can simulate brain responses at different scales and bridge the gap between dendritic information processing and brain neural circuit functions, holding significant importance for brain science and brain-inspired artificial intelligence. While sophisticated neurons possess powerful computational capabilities, their complex structure results in high computational complexity, making simulations very time-consuming. Currently, solving the linear equations corresponding to neurons is the core of the simulation process, accounting for 70%-90% of the simulation time and representing an efficiency bottleneck. However, existing simulation methods cannot efficiently solve these linear equations, leading to excessively long simulation times for sophisticated neural networks and hindering efficient simulation of large-scale sophisticated neural networks.

[0003] Furthermore, solving linear equations has important applications in other system simulations and problem solving, and is a fundamental problem in system simulation. Summary of the Invention

[0004] This application provides an efficient simulation method and apparatus based on hierarchical scheduling optimization. To provide a basic understanding of some aspects of the disclosed embodiments, a brief summary is given below. This summary is not intended as a general commentary, nor is it intended to identify key / important components or describe the scope of protection of these embodiments. Its sole purpose is to present some concepts in a simple form as a prelude to the detailed description that follows.

[0005] In a first aspect, embodiments of this application provide an efficient simulation method based on hierarchical scheduling optimization, the method comprising:

[0006] Obtain a system of linear equations representing tree-like computational dependencies;

[0007] Based on the system of linear equations, determine the parallel computing process;

[0008] Simulation calculations are performed on a parallel computing device according to the described parallel computing process to obtain simulation results.

[0009] Optionally, determining the parallel computing process based on the system of linear equations includes:

[0010] Determine the data dependency that characterizes the tree-like computational dependency according to the linear equations;

[0011] Construct a parallel computing problem model that characterizes the tree-like computational dependency according to the data dependency;

[0012] Determine the parallel computing process according to the data dependency and the parallel computing problem model.

[0013] Optionally, the data dependency that characterizes the tree-like computational dependency includes:

[0014] In the process of solving the linear equations, the calculation of a node can be performed if and only if the parent node or all child nodes of the node have completed the calculation.

[0015] Optionally, the constructing of the parallel computing problem model that characterizes the tree-like computational dependency according to the data dependency includes:

[0016] The parallel computing description of the parallel computing problem model is: Given a tree T = {V, E} and a positive integer k, where V represents the set of nodes of the tree, E represents the set of edges of the tree, and k represents the number of available parallel computing units;

[0017] The partition P(V) = {V1, V2,... V n}, |V i | ≤ P, 1 ≤ i ≤ n, and for any node e ∈ V i , all child nodes {c|c ∈ children(e)} of any node e are in the subset V i before V j , 1 ≤ j < i; where P represents the maximum number of nodes for each parallel simulation calculation; V i represents the i-th subset, V j represents the j-th subset, V n represents the n-th subset.

[0018] Optionally, the data dependency is represented using a tree structure;

[0019] The determining of the parallel computing process according to the data dependency and the parallel computing problem model includes:

[0020] Obtain the optimal partition that characterizes the tree-like computational dependency according to the tree structure;

[0021] Determine the parallel computing process according to the optimal partition and the parallel computing units included in the parallel computing problem model.

[0022] Optionally, obtaining the optimal partition representing the tree-like computational dependencies based on the tree structure includes:

[0023] Based on the tree structure, determine the node depth representing the tree-like computational dependencies;

[0024] Based on the node depth and the dependencies between the nodes, determine the computable nodes that represent the tree-like computational dependencies;

[0025] Select the deepest node from the computable nodes;

[0026] Based on the deepest node, the optimal partitioning of the tree-like computational dependencies is obtained.

[0027] Optionally, the step of performing simulation calculations on a parallelizable computing device according to the parallel computing process includes:

[0028] The parallel computing process is optimized based on the characteristics of parallel computing devices;

[0029] The optimized parallel computing process is used to perform simulation calculations on the parallelizable computing device.

[0030] Optional, also includes:

[0031] The simulation results are then pushed to the target user's terminal device for display.

[0032] Secondly, embodiments of this application provide a high-efficiency simulation device based on hierarchical scheduling optimization, the device comprising:

[0033] The acquisition module is used to acquire a system of linear equations that represent tree-like computational dependencies;

[0034] The computation process determination module is used to determine the parallel computation process based on the system of linear equations.

[0035] The simulation calculation module is used to perform simulation calculations on a parallel computing device according to the parallel computing process and obtain simulation results.

[0036] Thirdly, embodiments of this application provide a computer storage medium storing multiple instructions adapted for loading and execution of the above-described method steps by a processor.

[0037] Fourthly, embodiments of this application provide a terminal that may include: a processor and a memory; wherein the memory stores a computer program adapted to be loaded by the processor and executed by the above-described method steps.

[0038] The technical solutions provided in this application embodiment may include the following beneficial effects:

[0039] In this embodiment, the efficient simulation method based on hierarchical scheduling optimization first obtains a system of linear equations representing tree-like computational dependencies, then determines a parallel computing process based on the system of linear equations, and finally performs simulation calculations on a parallelizable computing device according to the parallel computing process to obtain simulation results. This improves the processing efficiency of simulation calculations and can be applied to the field of fine-grained neurons.

[0040] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit the invention. Attached Figure Description

[0041] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.

[0042] Figure 1 This is a flowchart illustrating an efficient simulation method based on hierarchical scheduling optimization provided in an embodiment of this application.

[0043] Figure 2 This is a schematic diagram of data dependencies for an efficient simulation method based on hierarchical scheduling optimization provided in an embodiment of this application;

[0044] Figure 3 This is a schematic diagram of the process for solving the optimal partitioning of an efficient simulation method based on hierarchical scheduling optimization provided in an embodiment of this application;

[0045] Figure 4 This is a schematic diagram of the parallel simulation calculation process of an efficient simulation method based on hierarchical scheduling optimization provided in an embodiment of this application;

[0046] Figure 5 This is a schematic diagram of a high-efficiency simulation device based on hierarchical scheduling optimization provided in an embodiment of this application;

[0047] Figure 6 This is a schematic diagram of a terminal provided in an embodiment of this application. Detailed Implementation

[0048] The following description and accompanying drawings fully illustrate specific embodiments of the invention to enable those skilled in the art to practice them.

[0049] It should be understood that the described embodiments are merely some, not all, of the embodiments of the present invention. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without inventive effort are within the scope of protection of the present invention.

[0050] In the following description, when referring to the accompanying drawings, the same numbers in different drawings denote the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present invention. Rather, they are merely examples of systems and methods consistent with some aspects of the invention as detailed in the appended claims.

[0051] In the description of this invention, it should be understood that the terms "first," "second," etc., are used for descriptive purposes only and should not be construed as indicating or implying relative importance. Those skilled in the art can understand the specific meaning of these terms in this invention based on the specific circumstances. Furthermore, in the description of this invention, unless otherwise stated, "multiple" refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. The character " / " generally indicates that the preceding and following related objects have an "or" relationship.

[0052] Please see Figures 1-4 This document presents a flowchart illustrating an efficient simulation method based on hierarchical scheduling optimization, as described in an embodiment of this application. Figures 1-4 As shown, the method in this application embodiment may include the following steps:

[0053] S100, Obtain a system of linear equations representing the tree-like computational dependencies; the tree-like computational dependencies can be fine neurons, and the system of linear equations can be a pseudo-tridiagonal system of linear equations. S200, Determine the parallel computation process based on the system of linear equations. S200 includes:

[0054] S210, Based on the linear equation system, determine the data dependency relationship representing the tree-like computational dependency relationship; wherein, the data dependency relationship representing the tree-like computational dependency relationship includes: during the solution of the linear equation system, the node can be computed only after the parent node or all child nodes of the node have been computed.

[0055] Specifically, due to the special properties of the coefficient matrix in the linear equation system, the improved catch-up method can be used to obtain the solution of the linear equation system within the linear computational complexity of the tree-like computational dependencies. This mainly includes: triangulation solution process and back substitution solution process.

[0056] The triangulation process is performed row by row from back to front, eliminating elements above the diagonal of the coefficient matrix by elements in the current row, ultimately transforming the coefficient matrix into a triangular matrix. The back substitution process is performed row by row from front to back, following the reverse order of the triangulation process. The unknown to be solved can be obtained from the unknowns already solved, ultimately yielding the solution to the entire system of linear equations.

[0057] Analyzing the triangulation and back-substitution processes reveals a data dependency during computation between rows where elements above the diagonal are eliminated in the triangulation process. The data dependency in the back-substitution process is the opposite of that in the triangulation process. Representing each row with a node, where the node number corresponds to the row number, and connecting nodes of two rows with data dependencies with edges, the data dependencies in the linear equation system solution are represented using a tree structure. These data dependencies include:

[0058] During the triangulation solution of the linear equation system, the calculation of a node can only be performed after all its child nodes have been calculated; and,

[0059] In the regression solution of the linear equation system, the calculation of a node can only be performed after the parent node of the node has been calculated.

[0060] Specifically, data dependencies are as follows: Figure 2 As shown in the diagram. The left diagram represents the system of linear equations to be solved, containing 15 variables with a coefficient matrix of size 15x15 (numbered 0-14 here). The right diagram shows the data dependencies formed when solving the system of linear equations. The entire solution process includes two parts: triangulation and back-substitution. The data dependencies are in a tree structure, where each node corresponds to a row in the system of linear equations and stores the corresponding data.

[0061] The update formulas for node values ​​during the triangulation and back-substitution processes are as follows:

[0062]

[0063] Where i and j represent node numbers, and i->j means that the value of node j is calculated from its current value and the value of node i. This represents the updated value of node j. This represents the updated value of node i. This represents the current value of node j.

[0064] S220. Based on the data dependencies, and using the idea of ​​combinatorial optimization, construct a parallel computing problem model that represents the tree-like computational dependencies.

[0065] In an embodiment of the present application, according to the data dependency obtained in S210, it is found that there is parallelism among nodes on different branches of the tree structure. Therefore, according to the data dependency, the problem of how to perform parallel computing can be formally described, and the partitioning can be defined. Specifically, S220 includes:

[0066] The parallel computing description of the parallel computing problem model is: Given a tree T = {V, E} and a positive integer k, where V represents the set of nodes of the tree, E represents the set of edges of the tree, and k represents the number of available parallel computing units;

[0067] In the parallel computing problem model, the partitioning P(V) = {V1, V2,... V n}, |V i | ≤ P, 1 ≤ i ≤ n, and for any node e ∈ V i , all children {c | c ∈ children(e)} of any node e are in the subset V i before V j , where 1 ≤ j < i. This condition means that node e can only be computed after all its children have completed their computations; where P represents the maximum number of nodes for each parallel simulation computation; V i represents the i-th subset, V j represents the j-th subset, and V n represents the n-th subset;

[0068] After the partitioning is completed, the triangulation solution process proceeds in the calculation order of V1 → V2 →... → V n . The calculation order of the back substitution solution process is opposite to that of the triangulation solution process, which is V n → V n-1 →... → V1. The computations of nodes in the same subset V i can be executed in parallel. Therefore, the overall computational cost of the solution process of the linear equation system is 2n, which is twice the number of subsets obtained by the partitioning. The present application can obtain an optimal partitioning P*(V) to have the minimum computational cost.

[0069] S230. According to the data dependency and the parallel computing problem model, determine the parallel computing process. S230 includes:

[0070] S231. According to the tree structure, obtain the optimal partitioning that represents the tree-like computational dependency.

[0071] In an embodiment of the present application, for the optimal partitioning problem proposed in S220, S241 proposes a corresponding solution algorithm to obtain the optimal partitioning P*(V). Its core idea is "deep node first computation". The specific execution process of S231 includes:

[0072] S2311, Given a tree structure corresponding to a system of linear equations, analyze the tree structure to determine the node depth of each node representing the tree-like computational dependencies. The tree structure is a tree topology.

[0073] Specifically, the node depth calculation process can be as follows: the depth of the root node of the tree structure is 0. Starting from the root node, the node depth is calculated one by one according to the node number. The node depth of each node is the depth of its parent node plus 1.

[0074] S2312, Based on the node depth and the dependencies between the nodes, determine the computable nodes that represent the tree-like computational dependencies.

[0075] In this embodiment, based on the dependencies between nodes, computable nodes are selected from all nodes whose depths have been determined. The criteria for determining a computable node are: a node is computable if and only if the node has no child nodes or all of the node's child nodes have already been added as the deepest nodes to subsets V1, V2, ... V during the S2312 and S2313 loops. n middle.

[0076] S2313, Select the deepest node from the computable nodes.

[0077] In this embodiment of the application, Q nodes with the largest depth are selected from all computable nodes as the deepest nodes of the application. If there are several nodes with the same depth such that the number of deepest nodes exceeds Q, then Q nodes with the fewest unprocessed sibling nodes are selected as the deepest nodes.

[0078] S2314. Based on the deepest node, obtain the optimal partition of the tree-like computational dependency relationship.

[0079] Add the deepest node to the current subset V. i In this process, S2312 and S2313 are repeated until all nodes of the tree structure are divided into several subsets, thus obtaining the optimal partition P*(V)={V1,V2,…V n}

[0080] Figure 3This demonstrates an example of solving for the optimal partitioning. Given a tree structure, the algorithm described above selects the deepest node {9,10,12,14} from the computable nodes {1,2,3,4,9,10,12,14}, the deepest node {1,7,11,13} from the computable nodes {1,2,3,4,7,11,13}, the deepest node {2,3,4,8} from the computable nodes {2,3,4,8}, the deepest node {6} from the computable nodes {6}, and the deepest node {5} from the computable nodes {5}. The deepest node {9,10,12,14} can be further selected from the following: {1, 7, 11, 13} are added to the current subset V1, the deepest node {2, 3, 4, 8} is added to the current subset V3, the deepest node {6} is added to the current subset V4, and the deepest node {5} is added to the current subset V5; thus, the optimal partition P*(V) = {V1, V2, V3, V4, V5} = {{9, 10, 12, 14}, {1, 7, 11, 13}, {2, 3, 4, 8}, {6}, {5}} is obtained; the obtained optimal partition P*(V) reduces the computation cost from 14 steps to 5 steps.

[0081] S232, Based on the optimal partition and the parallel computing units included in the parallel computing problem model, determine the parallel computing process.

[0082] Based on the optimal partitioning obtained by dividing all the deepest nodes of the tree structure into several subsets according to S231, all the deepest nodes are assigned to k available parallel computing units for parallel simulation calculation.

[0083] Since the deepest nodes in the same subset can be simulated in parallel after optimal partitioning, the deepest nodes in the same subset are assigned to different parallel computing units for parallel simulation. This rule is applied to all subsets, and all the deepest nodes are assigned to each parallel computing unit to obtain the parallel computing process for solving the linear equation system. The parallel computing process is a parallel computing process with low computational cost.

[0084] S300, Perform simulation calculations on a parallel computing device according to the parallel computing process to obtain simulation results.

[0085] In S300, performing simulation calculations on a parallelizable computing device according to the described parallel computing process includes:

[0086] In this embodiment of the application, when implementing the method, the parallel computing process can be optimized according to the characteristics of the parallel computing device to further improve computing efficiency;

[0087] After completing the allocation of the deepest node and optimizing the parallel computing process, the linear equation system is simulated and calculated in parallel using a parallel computing unit on the parallelizable computing device, according to the optimized parallel computing process.

[0088] Figure 4 The process involves parallel simulation calculations of the deepest nodes in the subsets after optimal partitioning, using the aforementioned parallel computing flow: During the triangulation process, step 1 performs parallel simulation calculations on the deepest nodes {9,10,12,14} in V1; step 2 performs parallel simulation calculations on the deepest nodes {1,7,11,13} in V2, and so on. Step 3 performs parallel simulation calculations on the deepest nodes {2,3,4,8} in V3; step 4 performs parallel simulation calculations on the deepest node {6} in V4; and step 5 performs parallel simulation calculations on the deepest node {5} in V5. The back-substitution solution process is symmetrical to the triangulation solution process, and is performed in parallel simulation calculations sequentially from V5 to V1.

[0089] In one possible implementation, the parallelizable computing device includes: a GPU, a CPU, and a neuromorphic cluster chip.

[0090] This application also includes the following embodiments:

[0091] S400, the simulation results are pushed to the target user's terminal device for display. The simulation results can be displayed in the form of charts, making the display more intuitive and improving the user experience.

[0092] This application presents an efficient simulation method based on hierarchical scheduling optimization. By modeling parallel problems and employing combinatorial optimization, an algorithm is proposed to achieve the parallel simulation computation method with minimal computational cost. In practical implementation, the parallel computing process is optimized for parallelizable computing devices to further improve computational efficiency. Solving linear equation systems is a fundamental problem in sophisticated brain simulation and partial differential equation solving; therefore, efficient solution methods for these systems greatly promote research in fields such as brain science, brain-inspired artificial intelligence, and dynamical system simulation.

[0093] In this embodiment, the efficient simulation method based on hierarchical scheduling optimization first obtains a system of linear equations representing tree-like computational dependencies. Then, based on the system of linear equations, a parallel computing process is determined. Finally, simulation calculations are performed on a parallelizable computing device according to the parallel computing process to obtain simulation results. This not only improves the processing efficiency of simulation calculations but also makes the simulation results more intuitive, enhancing the user experience.

[0094] The following are embodiments of the apparatus of the present invention, which can be used to execute embodiments of the method of the present invention. For details not disclosed in the embodiments of the apparatus of the present invention, please refer to the embodiments of the method of the present invention.

[0095] Please see Figure 5 The diagram illustrates a schematic representation of an efficient simulation device based on hierarchical scheduling optimization, provided by an exemplary embodiment of the present invention. The device 1 includes: an acquisition module 10, a calculation process determination module 20, and a simulation calculation module 30.

[0096] Module 10 is used to acquire a system of linear equations that represent tree-like computational dependencies.

[0097] The calculation process determination module 20 is used to determine the parallel calculation process based on the linear equation system;

[0098] The simulation calculation module 30 is used to perform simulation calculations on a parallel computing device according to the parallel computing process and obtain simulation results.

[0099] It should be noted that the efficient simulation device based on hierarchical scheduling optimization provided in the above embodiments is only illustrated by the division of the above functional modules when executing the efficient simulation method based on hierarchical scheduling optimization. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the efficient simulation device based on hierarchical scheduling optimization and the efficient simulation method based on hierarchical scheduling optimization provided in the above embodiments belong to the same concept, and the implementation process is detailed in the method embodiments, which will not be repeated here.

[0100] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0101] In this embodiment, the high-efficiency simulation device based on hierarchical scheduling optimization first obtains a system of linear equations representing tree-like computational dependencies, then determines a parallel computing process based on the system of linear equations, and finally performs simulation calculations on a parallelizable computing device according to the parallel computing process to obtain simulation results. This not only improves the processing efficiency of simulation calculations but also makes the simulation results more intuitive, thus enhancing the user experience.

[0102] The present invention also provides a computer-readable medium having program instructions stored thereon, which, when executed by a processor, implement the efficient simulation method based on hierarchical scheduling optimization provided in the above-described method embodiments.

[0103] The present invention also provides a computer program product containing instructions that, when run on a computer, causes the computer to execute the efficient simulation method based on hierarchical scheduling optimization of the above-described method embodiments.

[0104] Please see Figure 6 This is a schematic diagram of the structure of a terminal provided in an embodiment of this application. Figure 6 As shown, terminal 1000 may include: at least one processor 1001, at least one network interface 1004, user interface 1003, memory 1005, and at least one communication bus 1002.

[0105] The communication bus 1002 is used to realize the connection and communication between these components.

[0106] The user interface 1003 may include a display screen and a camera. Optionally, the user interface 1003 may also include a standard wired interface and a wireless interface.

[0107] The network interface 1004 may optionally include a standard wired interface or a wireless interface (such as a Wi-Fi interface).

[0108] The processor 1001 may include one or more processing cores. The processor 1001 connects to various parts within the electronic device 1000 using various interfaces and lines. It executes various functions and processes data by running or executing instructions, programs, code sets, or instruction sets stored in the memory 1005, and by calling data stored in the memory 1005. Optionally, the processor 1001 may be implemented using at least one hardware form of Digital Signal Processing (DSP), Field-Programmable Gate Array (FPGA), or Programmable Logic Array (PLA). The processor 1001 may integrate one or more of the following: a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), a modem, or a neuromorphic cluster chip. The CPU primarily handles the operating system, user interface, and applications; the GPU is responsible for rendering and drawing the content required for display; and the modem handles wireless communication. It is understood that the modem may also be implemented as a separate chip without being integrated into the processor 1001.

[0109] The memory 1005 may include random access memory (RAM) or read-only memory. Optionally, the memory 1005 may include a non-transitory computer-readable storage medium. The memory 1005 can be used to store instructions, programs, code, code sets, or instruction sets. The memory 1005 may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system, instructions for at least one function (such as touch function, sound playback function, image playback function, etc.), instructions for implementing the above-described method embodiments, etc.; the data storage area may store data involved in the above-described method embodiments, etc. Optionally, the memory 1005 may also be at least one storage device located remotely from the aforementioned processor 1001. Figure 6 As shown, the memory 1005, which serves as a computer storage medium, may include an operating system, a network communication module, a user interface module, and a high-efficiency simulation application based on hierarchical scheduling optimization.

[0110] exist Figure 6 In the terminal 1000 shown, the user interface 1003 is mainly used to provide an input interface for the user and to obtain the user's input data; while the processor 1001 can be used to call the efficient simulation application based on hierarchical scheduling optimization stored in the memory 1005, and specifically perform the following operations:

[0111] Obtain a system of linear equations representing tree-like computational dependencies;

[0112] Based on the system of linear equations, determine the parallel computing process;

[0113] Simulation calculations are performed on a parallel computing device according to the described parallel computing process to obtain simulation results.

[0114] The simulation results are then pushed to the target user's terminal device for display.

[0115] In one embodiment, when the processor 1001 determines the parallel computing process based on the system of linear equations, it specifically performs the following operations:

[0116] Based on the system of linear equations, determine the data dependencies that characterize the tree-like computational dependencies;

[0117] Based on the data dependencies, construct a parallel computing problem model representing the tree-like computational dependencies;

[0118] Determine the parallel computing process according to the data dependency and the parallel computing problem model.

[0119] In one embodiment, when the processor 1001 executes the data dependency representing the tree-like computing dependency, the following specific operations are performed:

[0120] In the process of solving the linear equations, the calculation of the node can be performed if and only if the parent node or all child nodes of the node have completed the calculation.

[0121] In one embodiment, when the processor 1001 executes the construction of the parallel computing problem model representing the tree-like computing dependency according to the data dependency, the following specific operations are performed:

[0122] The parallel computing description of the parallel computing problem model is: Given a tree T = {V, E} and a positive integer k, where V represents the set of nodes of the tree, E represents the set of edges of the tree, and k represents the number of available parallel computing units;

[0123] The partition P(V) = {V1, V2,... V n}, |V i | ≤ P, 1 ≤ i ≤ n, and for any node e ∈ V i , all child nodes {c|c ∈ children(e)} of any node e are in the subset V i before V j , 1 ≤ j < i; where P represents the maximum number of nodes for each parallel simulation calculation; V i represents the i-th subset, V j represents the j-th subset, and V n represents the n-th subset.

[0124] In one embodiment, when the processor 1001 executes the determination of the parallel computing process according to the data dependency and the parallel computing problem model, the following specific operations are performed:

[0125] The data dependency is represented using a tree structure;

[0126] Obtain the optimal partition representing the tree-like computing dependency according to the tree structure;

[0127] Determine the parallel computing process according to the optimal partition and the parallel computing units included in the parallel computing problem model.

[0128] In one embodiment, when the processor 1001 executes the obtaining of the optimal partition representing the tree-like computing dependency according to the tree structure, the following specific operations are performed:

[0129] Based on the tree structure, determine the node depth representing the tree-like computational dependencies;

[0130] Based on the node depth and the dependencies between the nodes, determine the computable nodes that represent the tree-like computational dependencies;

[0131] Select the deepest node from the computable nodes;

[0132] Based on the deepest node, the optimal partitioning of the tree-like computational dependencies is obtained.

[0133] In one embodiment, when processor 1001 performs the simulation calculation on a parallelizable computing device according to the parallel computing process, it specifically performs the following operations:

[0134] The parallel computing process is optimized based on the characteristics of parallel computing devices;

[0135] The optimized parallel computing process is used to perform simulation calculations on the parallelizable computing device.

[0136] In this embodiment, the efficient simulation method based on hierarchical scheduling optimization first obtains a system of linear equations representing tree-like computational dependencies, then determines a parallel computing process based on the system of linear equations, and finally performs simulation calculations on a parallelizable computing device according to the parallel computing process to obtain simulation results. This not only improves the processing efficiency of simulation calculations but also makes the simulation results more intuitive, thus enhancing the user experience.

[0137] Those skilled in the art will understand that implementing all or part of the processes in the above embodiments can be accomplished by a computer program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. The storage medium can be a magnetic disk, optical disk, read-only memory, or random access memory, etc.

[0138] The above-disclosed embodiments are merely preferred embodiments of this application and should not be construed as limiting the scope of this application. Therefore, any equivalent variations made in accordance with the claims of this application shall still fall within the scope of this application.