Parallelization method, parallelization tool and vehicle-mounted device
AssigneeDenso Corporation
InventorKenichi Mineda
Life of this patent
Estimating the term…
Abstract
A parallelization method for generating a parallel program for a multicore microcomputer from multiple processes in a single program for a single-core microcomputer is provided. In the single program, there are multiple types of the processes and a combination of the types of processes to be executed varies according to condition. The parallelization method includes extracting processing patterns respectively representing the combinations of types in the conditions from the single program and allocating the processes to the cores for each of the extracted processing patterns to generate the parallel program.
Claims15
A parallelization method for generating a parallel program parallelized for a multicore microcomputer having a plurality of cores comprising:
- providing a single program having a plurality of processes written to be executed by a single-core microcomputer, the plurality of processes of the single program have different types of processes and have a plurality of combinations of the different types of processes based on conditional statements executed in response to a predetermined clock cycle of the single core microcomputer,
- extracting, via an extraction procedure, a plurality of processing patterns from the single program based on the conditional statements executed in response to the predetermined clock cycle, wherein the processing patterns, respectively, are the plurality of combinations of the different types of processes;
- and
- allocating, via a generation procedure, for each of the extracted processing patterns, the same kind of processes in the combinations of the different types of processes to the cores to generate the parallel program.
A parallelization tool including a computer having a processor and memory for generating
- a parallel program parallelized for a multicore microcomputer having a plurality of cores from a plurality of processes in a single program written to be executed by a single-core microcomputer having one core, the plurality of processes of the single program have different types of processes and have a plurality of combinations of the different types of processes based on conditional statements executed in response to a predetermined clock cycle of the single core microcomputer,
- the parallelization tool comprising:
- an extraction unit that extracts a plurality of processing patterns from the single program based on the conditional statements executed in response to the predetermined clock cycle, wherein the processing patterns, respectively, are the plurality of combinations of the different types of processes;
- and
- a generation unit that, for each of the extracted processing patterns, allocates the same kind of processes in the combinations of different types of processes to the cores to generate the parallel program.
A vehicle-mounted device comprising:
- a multicore microcomputer having a plurality of cores;
- and
- a parallel program parallelized for the multicore microcomputer from a plurality of processes in a single program written to be executed by a single-core microcomputer having one core, the plurality of processes of the single program have different types of processes and have a plurality of combinations of the different types of processes based on conditional statements executed in response to a predetermined clock cycle of the single core microcomputer, wherein:
- the parallel program is generated such that a plurality of processing patterns, which respectively are the plurality of combinations of the different types of processes, are extracted from the single program based on the conditional statements executed in response to the predetermined clock cycle, and the processes are allocated to the cores for each of the extracted processing patterns;
- and
- the cores execute the same kind of processes in the combinations of the different types of processes allocated to each of the cores, respectively.
Dependencies are inferred from the claim text.