JP6427055B2 - 並列化コンパイル方法、及び並列化コンパイラ - Google Patents
並列化コンパイル方法、及び並列化コンパイラ Download PDFInfo
- Publication number
- JP6427055B2 JP6427055B2 JP2015072814A JP2015072814A JP6427055B2 JP 6427055 B2 JP6427055 B2 JP 6427055B2 JP 2015072814 A JP2015072814 A JP 2015072814A JP 2015072814 A JP2015072814 A JP 2015072814A JP 6427055 B2 JP6427055 B2 JP 6427055B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- processing
- compiler
- processes
- parallelization
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 161
- 238000012545 processing Methods 0.000 claims description 123
- 230000006870 function Effects 0.000 description 19
- 230000000694 effects Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000012795 verification Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- WBMKMLWMIQUJDP-STHHAXOLSA-N (4R,4aS,7aR,12bS)-4a,9-dihydroxy-3-prop-2-ynyl-2,4,5,6,7a,13-hexahydro-1H-4,12-methanobenzofuro[3,2-e]isoquinolin-7-one hydrochloride Chemical compound Cl.Oc1ccc2C[C@H]3N(CC#C)CC[C@@]45[C@@H](Oc1c24)C(=O)CC[C@@]35O WBMKMLWMIQUJDP-STHHAXOLSA-N 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/451—Code distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/456—Parallelism detection
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Description
以下、並列化コンパイル方法、並列化コンパイラ、及び車載装置の第1実施形態について説明する。
入力装置25は、キーボードやマウス等により構成されている。入力装置25は、ユーザの操作に応じた信号をCPU22に出力する。
RAM24は、ROM23やHDD21に記憶されたプログラムをCPU22が実行する際に、そのプログラムを一時的に保存するための記憶領域や、演算処理用のデータを一時的に保存するための記憶領域として用いられる。
(a2)処理yの条件分岐先が確定すれば、処理yの実行が終了していなくても、処理yに制御依存する処理xを実行できる。
(b2)優先度の低い処理の開始時期は、優先度の高い処理の終了時期よりも遅い。
次に、並列化コンパイル方法、並列化コンパイラCP、及びECU3の第2実施形態について説明する。以下、第1実施形態との相違点を中心に説明する。
次に、並列化コンパイル方法、並列化コンパイラCP、及びECU3の第2実施形態について説明する。以下、第1実施形態との相違点を中心に説明する。
(c2)優先度の低い関数の開始時期は、優先度の高い関数の終了時期よりも遅い。
次に、並列化コンパイル方法、並列化コンパイラCP、及びECU3の第2実施形態について説明する。以下、第1実施形態との相違点を中心に説明する。
次に、並列化コンパイル方法、並列化コンパイラCP、及びECU3の第5実施形態について説明する。以下、第1実施形態との相違点を中心に説明する。
(d2)優先度の低い処理フォルダの開始時期は、優先度の高い処理フォルダの終了時期よりも遅い。
次に、並列化コンパイル方法、並列化コンパイラCP、及びECU3の第6実施形態について説明する。以下、第1実施形態との相違点を中心に説明する。
(e2)優先度の低い処理ファイルの開始時期は、優先度の高い処理ファイルの終了時期よりも遅い。
なお、上記実施形態は、以下の形態にて実施することもできる。
・第1実施形態の並列化コンパイラCPは、ステップS7のスケジューリングの際の条件(b2)に代えて、以下の条件(b3)を用いてもよい。
P1:逐次プログラム
P2:並列化プログラム
2:コンパイラ装置
3:ECU(車載装置)
30:マルチコアプロセッサ
Claims (2)
- シングルコアプロセッサ用のプログラムである逐次プログラム(P1)を解析することにより当該プログラムを複数の処理に分割し、当該複数の処理から、マルチコアプロセッサ(30)により並列化処理の可能な並列化プログラム(P2)を生成するコンピュータが実行する並列化コンパイル方法であって、
前記複数の処理のうちのいずれかの処理が変更された際に、予め定められたパラメータに基づき前記複数の処理の処理順序に制約を設けてコンパイルを行い、処理の変更の影響が処理順序の制約に応じた局所的な範囲に抑えられることにより前記逐次プログラムから前記並列化プログラムを生成するものであり、
前記パラメータとして、前記逐次プログラムにおいて前後の処理の優先度を変更、又は前記前後の処理の依存関係を追加する指示子を用い、予め定められている優先度によらず、追加された前記依存関係に基づいて前記並列化プログラムを生成することを特徴とする並列化コンパイル方法。 - シングルコアプロセッサ用のプログラムである逐次プログラム(P1)を解析することにより当該プログラムを複数の処理に分割し、当該複数の処理から、マルチコアプロセッサ(30)により並列化処理の可能な並列化プログラム(P2)を生成するコンパイル処理をコンパイラ装置(2)に実行させる並列化コンパイラ(CP)であって、
前記複数の処理のうちのいずれかの処理が変更された際に、予め定められたパラメータに基づき前記複数の処理の処理順序に制約を設けて前記コンパイル処理を行い、処理の変更の影響が処理順序の制約に応じた局所的な範囲に抑えられるものであり、
前記パラメータとして、前記逐次プログラムにおいて前後の処理の優先度を変更、又は前記前後の処理の依存関係を追加する指示子を用い、予め定められている優先度によらず、追加された前記依存関係に基づいて前記並列化プログラムを生成するコンパイル処理を前記コンパイラ装置に実行させることを特徴とする並列化コンパイラ。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015072814A JP6427055B2 (ja) | 2015-03-31 | 2015-03-31 | 並列化コンパイル方法、及び並列化コンパイラ |
DE102016204970.4A DE102016204970A1 (de) | 2015-03-31 | 2016-03-24 | Parallelisierungskompilierverfahren, Parallelisierungskomplierer und Fahrzeugvorrichtung |
US15/083,592 US20160291949A1 (en) | 2015-03-31 | 2016-03-29 | Parallelization compiling method, parallelization compiler, and vehicular device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015072814A JP6427055B2 (ja) | 2015-03-31 | 2015-03-31 | 並列化コンパイル方法、及び並列化コンパイラ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016192154A JP2016192154A (ja) | 2016-11-10 |
JP6427055B2 true JP6427055B2 (ja) | 2018-11-21 |
Family
ID=56937730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015072814A Active JP6427055B2 (ja) | 2015-03-31 | 2015-03-31 | 並列化コンパイル方法、及び並列化コンパイラ |
Country Status (3)
Country | Link |
---|---|
US (1) | US20160291949A1 (ja) |
JP (1) | JP6427055B2 (ja) |
DE (1) | DE102016204970A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017228029A (ja) * | 2016-06-21 | 2017-12-28 | 株式会社デンソー | 並列化方法、並列化ツール、車載装置 |
FR3074931B1 (fr) * | 2017-12-13 | 2020-01-03 | Vsora | Architectures de processeur |
CN109471637B (zh) * | 2018-11-08 | 2021-07-06 | 西安电子科技大学 | 电路图的审查脚本调试方法 |
JP2022175874A (ja) * | 2021-05-14 | 2022-11-25 | 日立Astemo株式会社 | プログラム実行装置、解析方法、実行方法 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05265721A (ja) * | 1992-03-03 | 1993-10-15 | Nec Corp | 差分コンパイル方法および装置 |
JPH0675786A (ja) * | 1992-08-26 | 1994-03-18 | Hitachi Ltd | タスクスケジュリング方法 |
JPH0721015A (ja) * | 1993-06-23 | 1995-01-24 | Nec Software Ltd | リンク処理方式 |
US5768594A (en) * | 1995-07-14 | 1998-06-16 | Lucent Technologies Inc. | Methods and means for scheduling parallel processors |
JP2002108625A (ja) * | 2000-09-26 | 2002-04-12 | Toshiba Corp | 言語処理装置及び言語処理プログラムを格納した記録媒体 |
US7302686B2 (en) * | 2001-07-04 | 2007-11-27 | Sony Corporation | Task management system |
JP4042604B2 (ja) * | 2003-03-31 | 2008-02-06 | 日本電気株式会社 | プログラム並列化装置,プログラム並列化方法およびプログラム並列化プログラム |
JP2007226739A (ja) * | 2006-02-27 | 2007-09-06 | Seiko Epson Corp | ソフトウェア開発装置およびプログラム |
JP4936517B2 (ja) * | 2006-06-06 | 2012-05-23 | 学校法人早稲田大学 | ヘテロジニアス・マルチプロセッサシステムの制御方法及びマルチグレイン並列化コンパイラ |
US8136104B2 (en) * | 2006-06-20 | 2012-03-13 | Google Inc. | Systems and methods for determining compute kernels for an application in a parallel-processing computer system |
US8291400B1 (en) * | 2007-02-07 | 2012-10-16 | Tilera Corporation | Communication scheduling for parallel processing architectures |
JP5019897B2 (ja) * | 2007-02-07 | 2012-09-05 | 任天堂株式会社 | ゲームプログラムおよびゲーム装置 |
JP2009146243A (ja) * | 2007-12-17 | 2009-07-02 | Hitachi Ltd | 基板バイアス制御を活用する電力性能最適化コンパイラ及びプロセッサシステム |
US8448155B2 (en) * | 2009-06-01 | 2013-05-21 | National Instruments Corporation | Automatically creating parallel iterative program code in a graphical data flow program |
US9009726B2 (en) * | 2010-12-10 | 2015-04-14 | Microsoft Technology Licensing, Llc | Deterministic sharing of data among concurrent tasks using pre-defined deterministic conflict resolution policies |
JP5660386B2 (ja) * | 2011-05-26 | 2015-01-28 | 日本電気株式会社 | メモリ配置管理装置、メモリ配置管理方法、メモリ配置管理プログラム、およびプログラム作成システム |
US20150082314A1 (en) * | 2012-04-18 | 2015-03-19 | Nec Corporation | Task placement device, task placement method and computer program |
US20140032833A1 (en) * | 2012-07-25 | 2014-01-30 | International Business Machines Corporation | Dynamic Disk Space Management In A File System |
US9411641B2 (en) * | 2012-10-04 | 2016-08-09 | Lawrence J. Dickson | Method and apparatus implemented in processors for real-time scheduling and task organization based on response time order of magnitude |
US9773496B2 (en) * | 2012-12-06 | 2017-09-26 | White Eagle Sonic Technologies, Inc. | Apparatus and system for adaptively scheduling ultrasound system actions |
US9195506B2 (en) * | 2012-12-21 | 2015-11-24 | International Business Machines Corporation | Processor provisioning by a middleware processing system for a plurality of logical processor partitions |
US20140288911A1 (en) * | 2013-03-25 | 2014-09-25 | Nvidia Corporation | System and method for simulating integrated circuit performance on a many-core processor |
JP6018022B2 (ja) | 2013-06-14 | 2016-11-02 | 株式会社デンソー | 並列化コンパイル方法、並列化コンパイラ、並列化コンパイル装置、及び、車載装置 |
US9542221B2 (en) * | 2014-05-22 | 2017-01-10 | Oracle International Corporation | Dynamic co-scheduling of hardware contexts for parallel runtime systems on shared machines |
WO2016050315A1 (en) * | 2014-10-02 | 2016-04-07 | Hitachi Data Systems Engineering UK Limited | Method and an apparatus, and related computer-program products, for managing access request in multi-tenancy environments |
US9280389B1 (en) * | 2014-12-30 | 2016-03-08 | Tyco Fire & Security Gmbh | Preemptive operating system without context switching |
-
2015
- 2015-03-31 JP JP2015072814A patent/JP6427055B2/ja active Active
-
2016
- 2016-03-24 DE DE102016204970.4A patent/DE102016204970A1/de not_active Withdrawn
- 2016-03-29 US US15/083,592 patent/US20160291949A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2016192154A (ja) | 2016-11-10 |
DE102016204970A1 (de) | 2016-10-06 |
US20160291949A1 (en) | 2016-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6018022B2 (ja) | 並列化コンパイル方法、並列化コンパイラ、並列化コンパイル装置、及び、車載装置 | |
JP6319880B2 (ja) | 並列性の抽出方法及びプログラムの作成方法 | |
US7882498B2 (en) | Method, system, and program of a compiler to parallelize source code | |
EP3343351B1 (en) | Parallel program generating method and parallelization compiling apparatus | |
JP6427055B2 (ja) | 並列化コンパイル方法、及び並列化コンパイラ | |
JP4965995B2 (ja) | プログラム処理方法、処理プログラム及び情報処理装置 | |
JP6427054B2 (ja) | 並列化コンパイル方法、及び並列化コンパイラ | |
US10296316B2 (en) | Parallelization method, parallelization tool, and in-vehicle apparatus | |
JP7385989B2 (ja) | 演算制御装置 | |
JP2015219906A (ja) | ソフトウェア確認方法およびプロセッサ | |
JP2017228029A (ja) | 並列化方法、並列化ツール、車載装置 | |
JP6488739B2 (ja) | 並列化コンパイル方法、及び、並列化コンパイラ | |
US10255119B2 (en) | Parallelization method, parallelization tool and vehicle-mounted device | |
US20130232471A1 (en) | Method and Apparatus for Assessing Software Parallelization | |
JP2016192152A (ja) | 並列化コンパイル方法、並列化コンパイラ、及び車載装置 | |
JP6488738B2 (ja) | 並列化コンパイル方法、及び、並列化コンパイラ | |
JP6933001B2 (ja) | 並列化方法、並列化ツール | |
JP7095513B2 (ja) | マルチコアマイコン、及び車載装置 | |
WO2019188175A1 (ja) | デッドロック回避方法、デッドロック回避装置 | |
Van Wagensveld et al. | Intra-task parallelism in automotive real-time systems | |
JP7441861B2 (ja) | 演算装置及び検査方法 | |
US10379828B2 (en) | Parallelization method, parallelization tool, and in-vehicle device | |
JP6690570B2 (ja) | 並列化方法、並列化ツール、車載制御装置 | |
Schmidhuber et al. | Towards the derivation of guidelines for the deployment of real-time tasks on a multicore processor | |
Voss et al. | Jumping Right In:“Hello, TBB!” |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171019 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180516 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180703 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180828 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20181002 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181026 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6427055 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |