JP6428476B2 - 並列化コンパイル方法、及び並列化コンパイラ - Google Patents
並列化コンパイル方法、及び並列化コンパイラ Download PDFInfo
- Publication number
- JP6428476B2 JP6428476B2 JP2015098913A JP2015098913A JP6428476B2 JP 6428476 B2 JP6428476 B2 JP 6428476B2 JP 2015098913 A JP2015098913 A JP 2015098913A JP 2015098913 A JP2015098913 A JP 2015098913A JP 6428476 B2 JP6428476 B2 JP 6428476B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- parallel
- sequential
- procedure
- execution cycle
- 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 173
- 238000012545 processing Methods 0.000 claims description 141
- 230000008569 process Effects 0.000 claims description 97
- 230000006872 improvement Effects 0.000 description 18
- 230000000694 effects Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012916 structural analysis Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007704 transition 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5017—Task decomposition
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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
・プログラムのデータ構造上は依存性がなく並列化可能だが、制御仕様上は逐次的に実行順番が規定されているときに、プログラムと制御仕様の対応を維持して理解しやすくしたい場合。
・機能安全対応のため冗長化されたコア(例えばロックステップコア)で実行しなければならない場合。
・特殊なCPUアーキテクチャを想定した制御である場合。例えばベクタ処理など、ヘテロジニアスアーキテクチャにおけるアクセラレータ側で動くソフトウェアである場合。
が挙げられる。
21:マルチコアプロセッサ
Claims (8)
- シングルコアプロセッサで処理可能なように記述された逐次プログラムからマルチコアプロセッサ(21)で処理可能なように並列化した並列プログラムをコンピュータに生成させるための並列化コンパイル方法であって、
前記逐次プログラムを構成する処理群を、前記マルチコアプロセッサを構成する単一コア上で逐次動作する逐次処理と、前記マルチコアプロセッサを構成する複数コア上で並列動作する並列処理とに分類する分類手順と、
前記分類手順によって前記並列処理に分類された処理を、前記複数コアに対して前記逐次処理の実行時間の長さに基づいて割り当てる割当処理を実行する割当手順と、
前記分類手順の分類結果及び前記割当手順の割当結果に基づいて前記並列プログラムを
生成する生成手順と、を備え、
前記割当手順では、前記単一コアと、前記単一コア以外の前記複数コアとで、前記逐次処理の実行時間の長さに1より小さい重み付け値を乗算した分だけ差をつけることで、前記割当処理を実行する、ことを特徴とする並列化コンパイル方法。 - 前記割当手順では、前記並列処理の実行周期と前記逐次処理の実行周期との比を用いて前記重み付け値を決定する、ことを特徴とする請求項1に記載の並列化コンパイル方法。
- 前記割当手順では、前記並列処理の実行周期及び前記逐次処理の実行周期の指定を受け付け、この指定に基づいて静的に前記実行周期を決定する、ことを特徴とする請求項2に記載の並列化コンパイル方法。
- 前記割当手順では、前記並列処理の実行周期及び前記逐次処理の実行周期を、前記並列処理及び前記逐次処理の実際の動作結果からフィードバックして決定する、ことを特徴とする請求項2に記載の並列化コンパイル方法。
- シングルコアプロセッサで処理可能なように記述された逐次プログラムからマルチコアプロセッサ(21)で処理可能なように並列化した並列プログラムをコンピュータに生成させるための並列化コンパイラであって、
前記逐次プログラムを構成する処理群を、前記マルチコアプロセッサを構成する単一コア上で逐次動作する逐次処理と、前記マルチコアプロセッサを構成する複数コア上で並列動作する並列処理とに分類する分類手順と、
前記分類手順によって前記並列処理に分類された処理を、前記複数コアに対して前記逐次処理の実行時間の長さに基づいて割り当てる割当処理を実行する割当手順と、
前記分類手順の分類結果及び前記割当手順の割当結果に基づいて前記並列プログラムを生成する生成手順と、を前記コンピュータに実行可能にさせるように構成され、
前記割当手順では、前記単一コアと、前記単一コア以外の前記複数コアとで、前記逐次処理の実行時間の長さに1より小さい重み付け値を乗算した分だけ差をつけることで、前記割当処理を実行する、ことを特徴とする並列化コンパイラ。 - 前記割当手順では、前記並列処理の実行周期と前記逐次処理の実行周期との比を用いて前記重み付け値を決定する、ことを特徴とする請求項5に記載の並列化コンパイラ。
- 前記割当手順では、前記並列処理の実行周期及び前記逐次処理の実行周期の指定を受け付け、この指定に基づいて静的に前記実行周期を決定する、ことを特徴とする請求項6に記載の並列化コンパイラ。
- 前記割当手順では、前記並列処理の実行周期及び前記逐次処理の実行周期を、前記並列処理及び前記逐次処理の実際の動作結果からフィードバックして決定する、ことを特徴とする請求項6に記載の並列化コンパイラ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015098913A JP6428476B2 (ja) | 2015-05-14 | 2015-05-14 | 並列化コンパイル方法、及び並列化コンパイラ |
DE102016208339.2A DE102016208339A1 (de) | 2015-05-14 | 2016-05-13 | Parallelisierungskompilierverfahren, parallelisierungskompilierer und fahrzeuggebundene vorrichtung |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015098913A JP6428476B2 (ja) | 2015-05-14 | 2015-05-14 | 並列化コンパイル方法、及び並列化コンパイラ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016218503A JP2016218503A (ja) | 2016-12-22 |
JP6428476B2 true JP6428476B2 (ja) | 2018-11-28 |
Family
ID=57208843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015098913A Active JP6428476B2 (ja) | 2015-05-14 | 2015-05-14 | 並列化コンパイル方法、及び並列化コンパイラ |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6428476B2 (ja) |
DE (1) | DE102016208339A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6891521B2 (ja) * | 2017-02-08 | 2021-06-18 | 日本電気株式会社 | 情報処理装置、情報処理方法、プログラム |
KR102485935B1 (ko) * | 2018-02-23 | 2023-01-10 | 삼성전자주식회사 | 전자 장치 및 그의 동작 방법 |
JP7201381B2 (ja) | 2018-10-05 | 2023-01-10 | 日立Astemo株式会社 | 電子制御装置、並列処理方法 |
JP6942287B2 (ja) * | 2019-04-25 | 2021-09-29 | 三菱電機株式会社 | 追尾処理装置、追尾処理方法及び目標観測装置 |
JP7107275B2 (ja) * | 2019-04-25 | 2022-07-27 | 株式会社デンソー | 並列化方法、半導体制御装置、及び車載制御装置 |
JP2021012601A (ja) * | 2019-07-08 | 2021-02-04 | 株式会社デンソー | 並列化方法、半導体制御装置、車載制御装置 |
CN117008915B (zh) * | 2023-07-05 | 2024-07-23 | 东信和平科技股份有限公司 | 基于寄存器数量控制的代码编译方法、装置、设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10143380A (ja) * | 1996-11-07 | 1998-05-29 | Hitachi Ltd | マルチプロセッサシステム |
JP5036523B2 (ja) * | 2007-12-21 | 2012-09-26 | 三菱電機株式会社 | プログラム並列化装置 |
US8881158B2 (en) * | 2008-11-14 | 2014-11-04 | Nec Corporation | Schedule decision device, parallel execution device, schedule decision method, and program |
JP5614699B2 (ja) * | 2009-04-07 | 2014-10-29 | 日本電気株式会社 | マルチコアシステムのためのタスク割り当て関連方法、その装置、そのシステム、及びそのプログラム |
JP6018022B2 (ja) * | 2013-06-14 | 2016-11-02 | 株式会社デンソー | 並列化コンパイル方法、並列化コンパイラ、並列化コンパイル装置、及び、車載装置 |
-
2015
- 2015-05-14 JP JP2015098913A patent/JP6428476B2/ja active Active
-
2016
- 2016-05-13 DE DE102016208339.2A patent/DE102016208339A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2016218503A (ja) | 2016-12-22 |
DE102016208339A1 (de) | 2016-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6428476B2 (ja) | 並列化コンパイル方法、及び並列化コンパイラ | |
US11023285B2 (en) | Acceleration method for FPGA-based distributed stream processing system | |
EP3285170B1 (en) | Application profiling job management system, program, and method | |
CN102360309B (zh) | 片上多核异构系统的调度系统与调度执行方法 | |
WO2016078008A1 (zh) | 调度数据流任务的方法和装置 | |
EP3092567B1 (en) | System and method for isolating i/o execution via compiler and os support | |
KR20120068572A (ko) | 멀티 코어 시스템의 프로그램 컴파일 장치 및 방법 | |
US20090172353A1 (en) | System and method for architecture-adaptable automatic parallelization of computing code | |
KR101703328B1 (ko) | 이종 멀티 프로세서 환경에서의 데이터 처리 최적화 장치 및 방법 | |
JP6778130B2 (ja) | 仮想計算機システムおよびそのリソース割当て方法 | |
KR101697647B1 (ko) | 스케줄링 정책 기반 코어 간 태스크 이주 관리 장치 및 방법 | |
JP6107801B2 (ja) | 情報処理装置、情報処理システム、タスク処理方法、及び、プログラム | |
Zhong et al. | Model-based parallelizer for embedded control systems on single-isa heterogeneous multicore processors | |
JP6464982B2 (ja) | 並列化方法、並列化ツール、車載装置 | |
US12050894B2 (en) | Offload server, offload control method, and offload program | |
Binet et al. | Multicore in production: Advantages and limits of the multiprocess approach in the ATLAS experiment | |
Tariq et al. | Execution time prediction model that considers dynamic allocation of spark executors | |
Canon et al. | Online scheduling of task graphs on hybrid platforms | |
KR20200063962A (ko) | 분산 처리 시스템 및 이의 동작 방법 | |
Zahaf et al. | Contention-aware GPU partitioning and task-to-partition allocation for real-time workloads | |
KR20210116356A (ko) | 매트릭스 연산 방법 및 그 장치 | |
Cojean et al. | Resource aggregation for task-based Cholesky Factorization on top of heterogeneous machines | |
Kotthaus et al. | Performance analysis for parallel R programs: towards efficient resource utilization | |
JP6933001B2 (ja) | 並列化方法、並列化ツール | |
Dufaud et al. | Design of data management for multi SPMD workflow programming model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170803 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180529 |
|
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: 20180821 |
|
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: 20181015 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6428476 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 |