JP6481585B2 - 並列化方法、並列化ツール、車載装置 - Google Patents
並列化方法、並列化ツール、車載装置 Download PDFInfo
- Publication number
- JP6481585B2 JP6481585B2 JP2015206200A JP2015206200A JP6481585B2 JP 6481585 B2 JP6481585 B2 JP 6481585B2 JP 2015206200 A JP2015206200 A JP 2015206200A JP 2015206200 A JP2015206200 A JP 2015206200A JP 6481585 B2 JP6481585 B2 JP 6481585B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- program
- conditions
- core
- single program
- 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 132
- 238000012545 processing Methods 0.000 claims description 142
- 238000000605 extraction Methods 0.000 claims description 23
- 239000000284 extract Substances 0.000 claims description 18
- 238000001514 detection method Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Description
コアが一つであるシングルコアマイコン用のシングルプログラムにおける複数の処理から、複数のコア(21c、21d)を有するマルチコアマイコン(21)用に並列化した並列プログラム(21a1)を生成する並列化方法であって、
シングルプログラムは、複数種類の処理を含み、複数の条件の夫々によって実行する処理における種類の組み合わせが異なるものであり、
シングルプログラムから、複数の条件の夫々における種類の組み合わせである処理パターンを抽出する抽出手順(10a)と、
抽出した処理パターン毎に、複数の処理を各コアに割り振って、並列プログラムを生成する生成手順(10c〜10f)と、を備えていることを特徴とする。
コアが一つであるシングルコアマイコン用のシングルプログラムにおける複数の処理から、複数のコア(21c、21d)を有するマルチコアマイコン(21)用に並列化した並列プログラム(21a1)を生成するコンピュータを含む並列化ツールであって、
シングルプログラムは、複数種類の処理を含み、複数の条件の夫々によって実行する処理における種類の組み合わせが異なるものであり、
シングルプログラムから、複数の条件の夫々における種類の組み合わせである処理パターンを抽出する抽出部(10a)と、
抽出した処理パターン毎に、複数の処理を各コアに割り振って、並列プログラムを生成する生成部(10c〜10f)と、を備える点にある。
複数のコア(21c、21d)を有するマルチコアマイコン(21)と、コアが一つであるシングルコアマイコン用のシングルプログラムにおける複数の処理からマルチコアマイコン用に並列化された並列プログラム(21a1)とを含む車載装置であって、
シングルプログラムは、複数種類の処理を含み、複数の条件の夫々によって実行する処理における種類の組み合わせが異なるものであり、
並列プログラムは、
シングルプログラムから、複数の条件の夫々における種類の組み合わせである処理パターンを抽出され、
抽出された処理パターン毎に、複数の処理を各コアに割り振って生成されており、
複数のコアが自身に割り振られた処理を実行する点にある。
Claims (15)
- コアが一つであるシングルコアマイコン用のシングルプログラムにおける複数の処理から、複数の前記コア(21c、21d)を有するマルチコアマイコン(21)用に並列化した並列プログラム(21a1)を生成する並列化方法であって、
前記シングルプログラムは、複数種類の前記処理を含み、複数の条件の夫々によって実行する前記処理における前記種類の組み合わせが異なるものであり、
前記シングルプログラムから、複数の前記条件の夫々における前記種類の組み合わせである処理パターンを抽出する抽出手順(10a)と、
抽出した前記処理パターン毎に、複数の前記処理を各コアに割り振って、前記並列プログラムを生成する生成手順(10c〜10f)と、を備えている並列化方法。 - 前記シングルプログラムは、複数種類の前記処理として、複数の実行周期の前記処理を含むものであり、最も周期が短い第1実行周期である前記処理と、前記第1実行周期の整数倍の前記実行周期である前記処理とを含み、
前記抽出手順は、前記シングルプログラムから、複数の前記条件の夫々における前記実行周期の組み合わせである前記処理パターンを抽出する請求項1に記載の並列化方法。 - 前記シングルプログラムは、カウント値を取得する前記シングルコアマイコン用のプログラムであって、複数の前記条件としての前記カウント値毎に実行する前記種類の組み合わせが異なり、
前記抽出手順は、前記シングルプログラムから、複数の前記条件としてのカウント値の夫々における前記処理パターンを抽出する請求項1又は2に記載の並列化方法。 - 前記シングルプログラムは、センサの検出結果である複数のセンサ値を取得する前記シングルコアマイコン用のプログラムであって、複数の前記条件としての前記センサ値毎に実行する前記種類の組み合わせが異なり、
前記抽出手順は、前記シングルプログラムから、複数の前記条件としての前記センサ値の夫々における前記処理パターンを抽出する請求項1又は2に記載の並列化方法。 - 前記生成手順は、抽出した前記処理パターン毎に、複数の前記処理の依存関係を解析し、且つ、複数の前記処理を前記シングルプログラムにおける実行順に並べる請求項1乃至4のいずれかに記載の並列化方法。
- コアが一つであるシングルコアマイコン用のシングルプログラムにおける複数の処理から、複数の前記コア(21c、21d)を有するマルチコアマイコン(21)用に並列化した並列プログラム(21a1)を生成するコンピュータを含む並列化ツールであって、
前記シングルプログラムは、複数種類の前記処理を含み、複数の条件の夫々によって実行する前記処理における前記種類の組み合わせが異なるものであり、
前記シングルプログラムから、複数の前記条件の夫々における前記種類の組み合わせである処理パターンを抽出する抽出部(10a)と、
抽出した前記処理パターン毎に、複数の前記処理を各コアに割り振って、前記並列プログラムを生成する生成部(10c〜10f)と、を備えている並列化ツール。 - 前記シングルプログラムは、複数種類の前記処理として、複数の実行周期の前記処理を含むものであり、最も周期が短い第1実行周期の前記処理と、前記第1実行周期の整数倍の前記実行周期である前記処理とを含み、
前記抽出部は、前記シングルプログラムから、複数の前記条件の夫々における前記実行周期の組み合わせである前記処理パターンを抽出する請求項6に記載の並列化ツール。 - 前記シングルプログラムは、カウント値を取得する前記シングルコアマイコン用のプログラムであって、複数の前記条件としての前記カウント値毎に実行する前記種類の組み合わせが異なり、
前記抽出部は、前記シングルプログラムから、複数の前記条件としてのカウント値の夫々における前記処理パターンを抽出する請求項6又は7に記載の並列化ツール。 - 前記シングルプログラムは、センサの検出結果である複数のセンサ値を取得する前記シングルコアマイコン用のプログラムであって、複数の前記条件としての前記センサ値毎に実行する前記種類の組み合わせが異なり、
前記抽出部は、前記シングルプログラムから、複数の前記条件としての前記センサ値の夫々における前記処理パターンを抽出する請求項6又は7に記載の並列化ツール。 - 前記生成部は、抽出した前記処理パターン毎に、複数の前記処理の依存関係を解析し、且つ、複数の前記処理を前記シングルプログラムにおける実行順に並べる請求項6乃至9のいずれかに記載の並列化ツール。
- 複数のコア(21c、21d)を有するマルチコアマイコン(21)と、前記コアが一つであるシングルコアマイコン用のシングルプログラムにおける複数の処理から前記マルチコアマイコン用に並列化された並列プログラム(21a1)とを含む車載装置であって、
前記シングルプログラムは、複数種類の前記処理を含み、複数の条件の夫々によって実行する前記処理における前記種類の組み合わせが異なるものであり、
前記並列プログラムは、
前記シングルプログラムから、複数の前記条件の夫々における前記種類の組み合わせである処理パターンを抽出され、
抽出された前記処理パターン毎に、複数の前記処理を各コアに割り振って生成されており、
複数の前記コアは、自身に割り振られた前記処理を実行する車載装置。 - 前記シングルプログラムは、複数種類の前記処理として、複数の実行周期の前記処理を含むものであり、最も周期が短い第1実行周期の前記処理と、前記第1実行周期の整数倍の前記実行周期である前記処理とを含み、
前記並列プログラムは、前記シングルプログラムから、複数の前記条件の夫々における前記実行周期の組み合わせである前記処理パターンが抽出されている請求項11に記載の車載装置。 - 前記シングルプログラムは、カウント値を取得する前記シングルコアマイコン用のプログラムであって、複数の前記条件としての前記カウント値毎に実行する前記種類の組み合わせが異なり、
前記並列プログラムは、前記シングルプログラムから、複数の前記条件としてのカウント値の夫々における前記処理パターンが抽出されている請求項11又は12に記載の車載装置。 - 前記シングルプログラムは、センサの検出結果である複数のセンサ値を取得する前記シングルコアマイコン用のプログラムであって、複数の前記条件としての前記センサ値毎に実行する前記種類の組み合わせが異なり、
前記並列プログラムは、前記シングルプログラムから、複数の前記条件としての前記センサ値の夫々における前記処理パターンが抽出されている請求項11又は12に記載の車載装置。 - 前記並列プログラムは、抽出した前記処理パターン毎に、複数の前記処理の依存関係を解析し、且つ、複数の前記処理を前記シングルプログラムにおける実行順に並べられている請求項11乃至14のいずれかに記載の車載装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015206200A JP6481585B2 (ja) | 2015-10-20 | 2015-10-20 | 並列化方法、並列化ツール、車載装置 |
US15/279,600 US10255119B2 (en) | 2015-10-20 | 2016-09-29 | Parallelization method, parallelization tool and vehicle-mounted device |
DE102016220340.1A DE102016220340A1 (de) | 2015-10-20 | 2016-10-18 | Parallelisierungsverfahren, parallelisierungswerkzeug und fahrzeugverbaute einrichtung |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015206200A JP6481585B2 (ja) | 2015-10-20 | 2015-10-20 | 並列化方法、並列化ツール、車載装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017078938A JP2017078938A (ja) | 2017-04-27 |
JP6481585B2 true JP6481585B2 (ja) | 2019-03-13 |
Family
ID=58456714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015206200A Active JP6481585B2 (ja) | 2015-10-20 | 2015-10-20 | 並列化方法、並列化ツール、車載装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10255119B2 (ja) |
JP (1) | JP6481585B2 (ja) |
DE (1) | DE102016220340A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017107448A (ja) * | 2015-12-10 | 2017-06-15 | 株式会社デンソー | 並列化方法、並列化ツール、車載装置 |
US10671361B2 (en) * | 2016-10-25 | 2020-06-02 | Paypal, Inc. | Automatically determining data dependencies to facilitate code execution |
CN113723618B (zh) * | 2021-08-27 | 2022-11-08 | 南京星环智能科技有限公司 | 一种shap的优化方法、设备及介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07141300A (ja) * | 1993-11-18 | 1995-06-02 | Nippon Telegr & Teleph Corp <Ntt> | マルチプロセッサを用いた周期処理方法 |
JP4936517B2 (ja) * | 2006-06-06 | 2012-05-23 | 学校法人早稲田大学 | ヘテロジニアス・マルチプロセッサシステムの制御方法及びマルチグレイン並列化コンパイラ |
US9043795B2 (en) * | 2008-12-11 | 2015-05-26 | Qualcomm Incorporated | Apparatus and methods for adaptive thread scheduling on asymmetric multiprocessor |
US9367357B2 (en) * | 2013-01-18 | 2016-06-14 | Nec Corporation | Simultaneous scheduling of processes and offloading computation on many-core coprocessors |
JP6018022B2 (ja) | 2013-06-14 | 2016-11-02 | 株式会社デンソー | 並列化コンパイル方法、並列化コンパイラ、並列化コンパイル装置、及び、車載装置 |
US10108445B2 (en) * | 2014-09-22 | 2018-10-23 | The Boeing Company | Parallelization in virtual machine operation |
-
2015
- 2015-10-20 JP JP2015206200A patent/JP6481585B2/ja active Active
-
2016
- 2016-09-29 US US15/279,600 patent/US10255119B2/en active Active
- 2016-10-18 DE DE102016220340.1A patent/DE102016220340A1/de not_active Ceased
Also Published As
Publication number | Publication date |
---|---|
JP2017078938A (ja) | 2017-04-27 |
DE102016220340A1 (de) | 2017-04-20 |
US10255119B2 (en) | 2019-04-09 |
US20170109216A1 (en) | 2017-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8799880B2 (en) | Parallelization of PLC programs for operation in multi-processor environments | |
JP4957729B2 (ja) | プログラム並列化方法、プログラム並列化装置及びプログラム | |
Bonifaci et al. | Feasibility analysis in the sporadic dag task model | |
US20110067015A1 (en) | Program parallelization apparatus, program parallelization method, and program parallelization program | |
Goens et al. | Tetris: a multi-application run-time system for predictable execution of static mappings | |
US20110099550A1 (en) | Analysis and visualization of concurrent thread execution on processor cores. | |
JP6481585B2 (ja) | 並列化方法、並列化ツール、車載装置 | |
KR20120068572A (ko) | 멀티 코어 시스템의 프로그램 컴파일 장치 및 방법 | |
CN108139898B (zh) | 数据处理图编译 | |
TW201519091A (zh) | 用於任務排程之電腦系統,方法及電腦可讀取記錄媒體 | |
US10296316B2 (en) | Parallelization method, parallelization tool, and in-vehicle apparatus | |
US20170249239A1 (en) | Analysis and visualization of application concurrency and processor resource utilization | |
Dinh et al. | Blocking analysis for spin locks in real-time parallel tasks | |
WO2020121840A1 (ja) | 演算制御装置 | |
Cho et al. | On-the-fly workload partitioning for integrated CPU/GPU architectures | |
JP2017073000A (ja) | 並列化方法、並列化ツール、車載装置 | |
Langer et al. | A survey of parallel hard-real time scheduling on task models and scheduling approaches | |
US20150331787A1 (en) | Software verification | |
JP2017228029A (ja) | 並列化方法、並列化ツール、車載装置 | |
JP6427055B2 (ja) | 並列化コンパイル方法、及び並列化コンパイラ | |
Qamhieh et al. | Stretching algorithm for global scheduling of real-time DAG tasks | |
JP6933001B2 (ja) | 並列化方法、並列化ツール | |
Becker et al. | Evaluating dynamic task scheduling in a task-based runtime system for heterogeneous architectures | |
KR20110080540A (ko) | 컴퓨팅 시스템 및 방법 | |
JP2019145065A (ja) | 並列化方法、並列化ツール、マルチコアマイコン、及び車載装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180117 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181228 |
|
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: 20190115 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190128 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6481585 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
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 |