发明名称 PARALLELIZING COMPILE METHOD, PARALLELIZING COMPILER, PARALLELIZING COMPILE APPARATUS, AND ONBOARD APPARATUS
摘要 A parallelizing compile method includes, dividing a sequential program for an embedded system into multiple macro tasks, specifying (i) a starting end task and (ii) a termination end task, fusing (i) the starting end task, (ii) the termination end task, and (iii) a group of the multiple macro tasks, extracting a group of multiple new macro tasks from the multiple new macro tasks fused in the fusing based on a data dependency, performing a static scheduling assigning the multiple new macro tasks to the multiple processor units, so that the group of the multiple new macro tasks is parallelly executable by the multiple processor units, and generating a parallelizing program. In addition, a parallelizing compiler, a parallelizing compile apparatus and an onboard apparatus are provided.
申请公布号 US2014372995(A1) 申请公布日期 2014.12.18
申请号 US201414302886 申请日期 2014.06.12
申请人 DENSO CORPORATION ;WASEDA UNIVERSITY 发明人 MORI Hiroshi;TANI Mitsuhiro;KASAHARA Hironori;KIMURA Keiji;UMEDA Dan;HAYASHI Akihiro;MIKAMI Hiroki;KANEHAGI Yohei
分类号 G06F9/45 主分类号 G06F9/45
代理机构 代理人
主权项 1. A parallelizing compile method comprising: dividing a sequential program for an embedded system for an onboard apparatus into a plurality of macro tasks according to a predetermined method, the sequential program being executed by a single processor system; specifying, based on a control dependency between the macro tasks, (i) a starting end task of the macro tasks as a starting point, wherein the starting end task has a processing branched into different ones of the macro tasks, and(ii) a termination end task of the macro tasks, wherein the termination end task is either one of the macro tasks commonly executed among a plurality of series of processings, which are sequentially executed from the starting end task; fusing (i) the starting end task specified by the specifying,(ii) the termination end task executed from the starting end task in the processings, and(iii) a group of the macro tasks executed after execution of the starting end task and before execution of the termination end task into a new macro task; extracting a group of new macro tasks, which are parallelly executable by a plurality of processor units included in a multiprocessor system mounted to the onboard apparatus, from the new macro tasks fused in the fusing, based on a data dependency; performing a static scheduling assigning the new macro tasks to the processor units, so that the group of new macro tasks is parallelly executable by the processor units; and generating a parallelizing program executed by the multiprocessor system, based on a result of the static scheduling.
地址 Kariya-city JP