Patent ID: 7895453

Claim:
A multigrain parallelization compiler for generating an object program to be executed by a multiprocessor system having a plurality of processor units of single type or plural types, characterized by causing a computer to execute: a process of reading an input program; a process of dividing the input program into a plurality of grain size unit blocks after analyzing the input program; a process of extracting parallelism of the unit blocks by analyzing control dependency and data dependency among the unit blocks; a process of obtaining cost information necessary for calculation of the unit blocks by each processor unit disposed in the multiprocessor system; a process of generating scheduling codes, based on the cost information, for allocating the unit blocks to the processor units such that processing time of the input program is reduced to minimum; and a process of adding the scheduling codes to the input program, generating an execution code for each processor unit, and outputting the code as an object code, wherein the processor units include an accelerator unit and a general-purpose processor unit; and wherein the process of generating the scheduling codes includes selecting the accelerator unit necessary for processing the unit blocks, further selecting at least one general-purpose processor unit, and allocating unit blocks to the accelerator unit and the general-purpose unit as one group.