PARALLELIZATION PROCESSING METHOD, SYSTEM AND PROGRAM
First Claim
1. A code generating method for causing a computer having at least one processor to perform processing for generating a code allocated to each individual processor to execute the code in parallel in a multiprocessor system, the method comprising the steps of:
- representing a process, to be executed, with a plurality of control blocks and edges connecting the control blocks;
identifying strongly-connected clusters of control blocks and at least one non-strongly connected cluster isolated between strongly-connected clusters;
creating a parallelization table, having entries of number of processors, costs, and corresponding clusters, for each node in each strongly-connected cluster and non-strongly connected cluster;
creating a graph comprising created parallelization tables;
converting the graph comprising the parallelization tables into a series-parallel graph;
merging the parallelization tables for each serial path; and
merging the parallelization tables for each parallel section.
1 Assignment
0 Petitions
Accused Products
Abstract
A unified parallelization table is formed by describing a process, to be executed, with a plurality of control blocks and edges connecting the control blocks; selecting highly predictable edges from the edges; identifying strongly-connected clusters; creating a parallelization table, having the entries of the number of processors, the costs thereof and corresponding clusters, for each node in the strongly-connected clusters and a non-strongly connected cluster between the strongly-connected clusters; creating a graph consisting of parallelization tables; converting the graph consisting of the parallelization tables into a series-parallel graph; and merging the parallelization tables for each serial path merging the parallelization tables for each parallel section. Then, based on the number of processors and the cost value in the unified parallelization table, a best entry is selected and an executable code to be allocated to each processor is generated.
-
Citations
6 Claims
-
1. A code generating method for causing a computer having at least one processor to perform processing for generating a code allocated to each individual processor to execute the code in parallel in a multiprocessor system, the method comprising the steps of:
-
representing a process, to be executed, with a plurality of control blocks and edges connecting the control blocks; identifying strongly-connected clusters of control blocks and at least one non-strongly connected cluster isolated between strongly-connected clusters; creating a parallelization table, having entries of number of processors, costs, and corresponding clusters, for each node in each strongly-connected cluster and non-strongly connected cluster; creating a graph comprising created parallelization tables; converting the graph comprising the parallelization tables into a series-parallel graph; merging the parallelization tables for each serial path; and merging the parallelization tables for each parallel section. - View Dependent Claims (2)
-
-
3. A code generation system for causing a computer having at least one processor to perform processing for generating a code allocated to each individual processor to execute the code in parallel in a multiprocessor system, the system comprising:
-
an analysis module for receiving input source code and for depicting a process, to be executed, with a plurality of control blocks and edges connecting the control blocks; a clustering module for identifying strongly-connected clusters and at least one non-strongly connected cluster isolated between strongly-connected clusters; a parallelization table processing module for creating a parallelization table, having entries of number of processors, costs and corresponding clusters, for each node in each strongly-connected cluster and non-strongly connected cluster; a graph module for creating a graph comprising parallelization tables; a graph converting module for converting the graph comprising the parallelization tables into a series-parallel graph; and a merging module for merging the parallelization tables for each serial path and for merging the parallelization tables for each parallel section. - View Dependent Claims (4)
-
-
5. A code generation program storage medium for storing a program for causing a computer having at least one processor to perform processing for generating a code allocated to each individual processor to execute the code in parallel in a multiprocessor system, the program causing the computer to execute the steps of:
-
identifying strongly-connected clusters and at least one non-strongly connected cluster isolated between the strongly-connected clusters; creating a parallelization table, having entries of number of processors, costs and corresponding clusters, for each node in each strongly-connected cluster and at least one non-strongly connected cluster; creating a graph comprising created parallelization tables; converting the graph of the parallelization tables into a series-parallel graph; and merging the parallelization tables for each serial path and the parallelization tables for each parallel section. - View Dependent Claims (6)
-
Specification