Patent ID: 9311273
Filing Date: 2016-04-12
CPC Classification: G06F

Claim Text:
1. A method for solving simultaneous equations described as a plurality of ordinary differential equations represented as a graphical model including blocks as nodes and dependence as a link by processing performed by a computer including a plurality of processors, the method solving a graph representing a single ordinary differential equation using a dividing algorithm for the graph by the processing performed by the computer including the plurality of processors, the method comprising: forming initial segments by extracting sets of the blocks, the sets being allowed to include overlapping blocks and executable independently of each other, for each of blocks having internal states and blocks having no outputs in the model by tracing from the blocks having internal states and blocks having no outputs in a reverse direction of the dependence; selecting, from the formed initial segments, a set of blocks contained in the initial segments on the basis of parallelism in the initial segments; extracting sets of the blocks, the sets being allowed to include overlapping blocks and executable independently of each other, for each of blocks whose child blocks are lost by removal of the selected set of blocks from a processing target by tracing from the blocks whose child blocks are lost in the reverse direction of the dependence; when the extracted segments and the segment whose internal blocks are not removed from the processing target among the initial segments are referred to as upstream segments and the sets of blocks selected and removed from the processing target are referred to as downstream segments, merging the upstream segments and merging the downstream segments so as to reduce overlapping such that a number of the upstream segments and the downstream segments is reduced to at or below a predetermined number of parallel executions; compiling each of the merged segments and converting it into executable code; and individually assigning the executable code for the segments to the plurality of processors and causing the plurality of processors to execute their respective executable code in parallel.