JP4084374B2 - ループ並列化方法及びコンパイル装置 - Google Patents
ループ並列化方法及びコンパイル装置 Download PDFInfo
- Publication number
- JP4084374B2 JP4084374B2 JP2005233345A JP2005233345A JP4084374B2 JP 4084374 B2 JP4084374 B2 JP 4084374B2 JP 2005233345 A JP2005233345 A JP 2005233345A JP 2005233345 A JP2005233345 A JP 2005233345A JP 4084374 B2 JP4084374 B2 JP 4084374B2
- Authority
- JP
- Japan
- Prior art keywords
- loop
- processor
- loops
- execution
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Devices For Executing Special Programs (AREA)
Description
「スーバーコンパイラ」(Hans Zima、Barbara Chapman 共著、村岡洋一訳、オーム社)p276−p297
まず、ループ実行の直前に(プロセッサ番号−1)回分のバリア同期を発行するループを生成する。
次に、内側ループを分割し各プロセッサに割り当て、分割したループの直後にバリア同期を発行する文を生成する。
最後に、ループ実行の直後に(プロセッサ総数−プロセッサ番号)回分バリア同期を発行するループを生成する。
12 コンパイラ
13 並列化変換部
14 DOALL型並列化変換部
15 パイプライン型並列化変換部
16 目的コード生成部
17 目的プログラム
18 プログラム格納媒体
Claims (2)
- バリア同期機構を有する複数のプロセッサにより構成されるマルチプロセッサに与える目的コードを生成するための高級言語の翻訳を行うコンパイル装置におけるループ並列化方法において、
前記コンパイル装置は、ループ繰り返しにまたがったデータ依存関係の存在する多重ループに対して、当該多重ループのうちのいずれかのループを複数のループに分割し、分割した複数のループのそれぞれを前記マルチプロセッサを構成する各プロセッサに割り当てて並列実行させるために、分割後の多重ループ実行の前後にバリア同期を発行させるループを生成し、分割したループの実行直後にバリア同期を発行させる文を生成することを特徴とするループ並列化方法。 - バリア同期機構を有する複数のプロセッサにより構成されるマルチプロセッサに与える目的コードを生成するための高級言語の翻訳を行うコンパイル装置において、
ループ繰り返しにまたがったデータ依存関係の存在する多重ループに対して、当該多重ループのうちのいずれかのループを複数のループに分割する手段と、分割した複数のループのそれぞれを前記マルチプロセッサを構成する各プロセッサに割り当てて並列実行させるために、分割後の多重ループ実行の前後にバリア同期を発行させるループを生成し、分割したループ実行の直後にバリア同期を発行させる文を生成する手段とを備えたことを特徴とするコンパイル装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005233345A JP4084374B2 (ja) | 2005-08-11 | 2005-08-11 | ループ並列化方法及びコンパイル装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005233345A JP4084374B2 (ja) | 2005-08-11 | 2005-08-11 | ループ並列化方法及びコンパイル装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18236898A Division JP3729644B2 (ja) | 1998-06-29 | 1998-06-29 | ループ並列化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005327320A JP2005327320A (ja) | 2005-11-24 |
JP4084374B2 true JP4084374B2 (ja) | 2008-04-30 |
Family
ID=35473565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005233345A Expired - Fee Related JP4084374B2 (ja) | 2005-08-11 | 2005-08-11 | ループ並列化方法及びコンパイル装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4084374B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5810316B2 (ja) | 2010-12-21 | 2015-11-11 | パナソニックIpマネジメント株式会社 | コンパイル装置、コンパイルプログラム及びループ並列化方法 |
-
2005
- 2005-08-11 JP JP2005233345A patent/JP4084374B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005327320A (ja) | 2005-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6525286B2 (ja) | プロセッサコア及びプロセッサシステム | |
US9652286B2 (en) | Runtime handling of task dependencies using dependence graphs | |
JP2921190B2 (ja) | 並列実行方式 | |
US7631305B2 (en) | Methods and products for processing loop nests | |
US20100153937A1 (en) | System and method for parallel execution of a program | |
JP6427054B2 (ja) | 並列化コンパイル方法、及び並列化コンパイラ | |
Baudisch et al. | Multithreaded code from synchronous programs: Extracting independent threads for OpenMP | |
JP2012510661A (ja) | 逐次コンピュータプログラムコードを並列処理する方法及びシステム | |
JPH0498323A (ja) | プロセス並列実行方法および装置 | |
JP6492943B2 (ja) | 計算機、コンパイル方法、コンパイルプログラム、およびパイプライン処理プログラム | |
US9081561B2 (en) | Method for improving execution performance of multiply-add instruction during compiling | |
Reissmann et al. | Efficient control flow restructuring for GPUs | |
JP6488739B2 (ja) | 並列化コンパイル方法、及び、並列化コンパイラ | |
JP6427053B2 (ja) | 並列化コンパイル方法、及び並列化コンパイラ | |
US9665354B2 (en) | Apparatus and method for translating multithread program code | |
JP3729644B2 (ja) | ループ並列化方法 | |
JP4084374B2 (ja) | ループ並列化方法及びコンパイル装置 | |
JPH04293150A (ja) | コンパイル方法 | |
JP6488738B2 (ja) | 並列化コンパイル方法、及び、並列化コンパイラ | |
Chen | Introduction to openacc | |
Miles et al. | Performance portability and OpenACC | |
Wu et al. | Exploiting more parallelism from applications having generalized reductions on GPU architectures | |
US9286090B2 (en) | Method and system for compiler identification of code for parallel execution | |
JP2007108838A (ja) | コンパイル方法及びコンパイル装置 | |
JP3551352B2 (ja) | ループ分割方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050912 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050912 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071030 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071228 |
|
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: 20080205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080214 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110222 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110222 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120222 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120222 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130222 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130222 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |