JP2007226589A - プログラム変換システム - Google Patents
プログラム変換システム Download PDFInfo
- Publication number
- JP2007226589A JP2007226589A JP2006047714A JP2006047714A JP2007226589A JP 2007226589 A JP2007226589 A JP 2007226589A JP 2006047714 A JP2006047714 A JP 2006047714A JP 2006047714 A JP2006047714 A JP 2006047714A JP 2007226589 A JP2007226589 A JP 2007226589A
- Authority
- JP
- Japan
- Prior art keywords
- optimization
- information
- program
- compiler
- profile
- 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.)
- Pending
Links
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/44—Encoding
- G06F8/443—Optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3457—Performance evaluation by simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
【解決手段】最適化指示情報に従って原始プログラムから目的プログラムを生成するコンパイラ10と、目的プログラムを結合して実行可能なロードモジュールを生成するリンカ20と、このロードモジュールを実行してプロファイル情報を生成するシミュレータ(または、エミュレータ)30と、このプロファイル情報とプログラマの性能要求を比較して性能要求を満たすように最適化指示情報を生成してコンパイラ10に与えるプロファイル解析処理部40と、このプロファイル解析処理部40の指示で再コンパイル処理を行うプログラムローダ50を備える。これにより、性能要求を満たすように最適化項目が順次追加され、最適な目的プログラムが生成できる。
【選択図】図1
Description
このプログラム変換システムは、一般的なコンピュータのハードウエア資源を利用し、ソフトウエア処理によって原始プログラムを目的プログラムに変換するもので、翻訳手段(例えば、コンパイラ)10と、結合手段(例えば、リンカ)20と、実行手段(例えば、シュミュレータまたはエミュレータ)30と、解析手段(例えば、プロファイル解析処理部)40と、制御手段(例えば、プログラムローダ)50で構成されている。
(a) コンパイラ10の最適化処理部11で行った最適化処理の内容を示す最適化情報と、シミュレータ30によるロードモジュールの実行結果を示す実行時情報とを含むプロファイル情報に基づいて、プログラマから与えられた性能要求を満たすように、順次最適化項目を増加させる最適化変更情報を出力するプロファイル解析処理部40と、このプロファイル解析処理部40から出力される再コンパイル指定に基づいてコンパイラ10、リンカ20及びシミュレータ30を順次起動して再コンパイル処理を行わせるプログラムローダ50を有している。これにより、実際の動作状態に対応し、かつプログラマが要求する性能を満たす最適な目的プログラムを生成することができる。
(b) 一般的なコンパイラにおける最適化制御は、オプション指定や、プラグマ、特殊キーワードと呼ばれる各社のコンパイラ特有の文法を使用しているため、原始プログラムを他社または他のターゲット(コンピュータ等)に移植する際、移植対象のコンパイラの文法に合わせてプラグマや特殊キーワードの記述を変更しなければならない。しかし、本実施例のプログラム変換システムでは、コンパイラ特有の文法を使用していないので、原始プログラムを他のターゲットに容易に移植することができる。
11 最適化処理部
20 リンカ
30 シミュレータ
40 プロファイル解析処理部
50 プログラムローダ
Claims (1)
- 最適化指示情報が与えられたときは該最適化指示情報に基づいて予め定められた閾値の範囲内で最適化処理を行い、最適化指示情報が与えられていないときは定められた指定情報に基づいて最適化処理を行って原始プログラムを目的プログラムに変換し、該目的プログラムと共に最適化処理に用いた最適化情報を出力する翻訳手段と、
前記翻訳手段から出力された目的プログラムに基づいてロードモジュールを生成する結合手段と、
前記ロードモジュールを実行し、前記最適化情報とこれに関連する実行時情報からなるプロファイル情報を出力する実行手段と、
与えられた要求性能と前記プロファイル情報中の実行時情報を比較し、該性能要求が満たされていれば処理を終了させ、該性能要求が満たされていないときには一定回数だけ該プロファイル情報中の最適化項目を順次変更して前記最適化指示情報として前記翻訳手段に与えると共に、再コンパイル指示を行う解析手段と、
前記翻訳手段、前記結合手段、及び前記実行手段を順次動作させることにより、プログラム変換処理を制御する制御手段とを、
備えたことを特徴とするプログラム変換システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006047714A JP2007226589A (ja) | 2006-02-24 | 2006-02-24 | プログラム変換システム |
US11/702,094 US20070204260A1 (en) | 2006-02-24 | 2007-02-05 | Program transformation system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006047714A JP2007226589A (ja) | 2006-02-24 | 2006-02-24 | プログラム変換システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007226589A true JP2007226589A (ja) | 2007-09-06 |
Family
ID=38445492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006047714A Pending JP2007226589A (ja) | 2006-02-24 | 2006-02-24 | プログラム変換システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20070204260A1 (ja) |
JP (1) | JP2007226589A (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8656267B2 (en) * | 2008-03-31 | 2014-02-18 | International Business Machines Corporation | Method of approximate document generation |
JP4381459B1 (ja) * | 2008-06-27 | 2009-12-09 | 株式会社東芝 | 情報処理装置、粒度調整方法およびプログラム |
US8938728B2 (en) * | 2010-04-05 | 2015-01-20 | International Business Machines Corporation | Dynamic compiler program, dynamic compiling method and dynamic compiling device |
US10248554B2 (en) * | 2016-11-14 | 2019-04-02 | International Business Machines Corporation | Embedding profile tests into profile driven feedback generated binaries |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01118931A (ja) * | 1987-11-02 | 1989-05-11 | Hitachi Ltd | プログラム変換方式 |
JPH02176938A (ja) * | 1988-12-28 | 1990-07-10 | Hitachi Ltd | 機械語命令最適化方式 |
JPH0683632A (ja) * | 1992-09-01 | 1994-03-25 | Hitachi Ltd | 整定数乗算最適化方法 |
JPH06274350A (ja) * | 1993-03-19 | 1994-09-30 | Fujitsu Ltd | コンパイラ装置 |
JP2001142718A (ja) * | 1999-11-18 | 2001-05-25 | Fujitsu Ltd | プログラム実行装置 |
JP2003131889A (ja) * | 2001-10-25 | 2003-05-09 | Hitachi Ltd | オブジェクトプログラム生成方法 |
JP2004005650A (ja) * | 2002-05-30 | 2004-01-08 | Hewlett-Packard Development Co Lp | 実行中のコンピュータプログラムの性能を向上させる方法 |
JP2004062324A (ja) * | 2002-07-25 | 2004-02-26 | Nec Corp | 最適化コンパイル装置、プログラム最適化方法、プログラム、及び記憶媒体 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6922829B2 (en) * | 1999-10-12 | 2005-07-26 | Texas Instruments Incorporated | Method of generating profile-optimized code |
US7000227B1 (en) * | 2000-09-29 | 2006-02-14 | Intel Corporation | Iterative optimizing compiler |
US7603664B2 (en) * | 2002-10-22 | 2009-10-13 | Sun Microsystems, Inc. | System and method for marking software code |
US6964042B2 (en) * | 2002-12-17 | 2005-11-08 | Bea Systems, Inc. | System and method for iterative code optimization using adaptive size metrics |
US20060236310A1 (en) * | 2005-04-19 | 2006-10-19 | Domeika Max J | Methods and apparatus to iteratively compile software to meet user-defined criteria |
US20080250399A1 (en) * | 2005-12-30 | 2008-10-09 | Bo Huang | Evaluation and Selection of Programming Code |
-
2006
- 2006-02-24 JP JP2006047714A patent/JP2007226589A/ja active Pending
-
2007
- 2007-02-05 US US11/702,094 patent/US20070204260A1/en not_active Abandoned
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01118931A (ja) * | 1987-11-02 | 1989-05-11 | Hitachi Ltd | プログラム変換方式 |
JPH02176938A (ja) * | 1988-12-28 | 1990-07-10 | Hitachi Ltd | 機械語命令最適化方式 |
JPH0683632A (ja) * | 1992-09-01 | 1994-03-25 | Hitachi Ltd | 整定数乗算最適化方法 |
JPH06274350A (ja) * | 1993-03-19 | 1994-09-30 | Fujitsu Ltd | コンパイラ装置 |
JP2001142718A (ja) * | 1999-11-18 | 2001-05-25 | Fujitsu Ltd | プログラム実行装置 |
JP2003131889A (ja) * | 2001-10-25 | 2003-05-09 | Hitachi Ltd | オブジェクトプログラム生成方法 |
JP2004005650A (ja) * | 2002-05-30 | 2004-01-08 | Hewlett-Packard Development Co Lp | 実行中のコンピュータプログラムの性能を向上させる方法 |
JP2004062324A (ja) * | 2002-07-25 | 2004-02-26 | Nec Corp | 最適化コンパイル装置、プログラム最適化方法、プログラム、及び記憶媒体 |
Also Published As
Publication number | Publication date |
---|---|
US20070204260A1 (en) | 2007-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9645803B2 (en) | Methods and systems for forming an adjusted perform range | |
US10860300B2 (en) | Direct function call substitution using preprocessor | |
Almási et al. | Majic: Compiling matlab for speed and responsiveness | |
US6973644B2 (en) | Program interpreter | |
US9081586B2 (en) | Systems and methods for customizing optimization/transformation/ processing strategies | |
US20070234276A1 (en) | Method, system, and program of a compiler to parallelize source code | |
JPH05257709A (ja) | 並列化判別方法およびそれを用いた並列化支援方法 | |
JP2004062858A (ja) | データ処理装置内のアプリケーション・コードのコンパイル | |
JP2011530768A (ja) | ソフトウェア・アプリケーションの性能向上 | |
EP3244306B1 (en) | A computer-implemented method for allowing modification of a region of original code | |
JPH1097430A (ja) | 最適化のためにアセンブリコードルーチンをソースコードルーチンに挿入する方法およびそのシステム | |
KR20010086159A (ko) | 자바 프로그램들 및 이를 위한 소프트웨어 프러덕트의플랫폼 특정 효율 강화를 위한 방법 | |
US6301652B1 (en) | Instruction cache alignment mechanism for branch targets based on predicted execution frequencies | |
US8762974B1 (en) | Context-sensitive compiler directives | |
JP2007226589A (ja) | プログラム変換システム | |
US20060107258A1 (en) | Program, program code optimization method, program code compile method, program code, and information processing system | |
JP2008276735A (ja) | プログラムコード変換装置及びプログラムコード変換方法 | |
Cho et al. | Development of a Prototyping Tool for New Memory Subsystem | |
US20170206068A1 (en) | Program optimization based on directives for intermediate code | |
US10761820B2 (en) | Assisting parallelization of a computer program | |
Adamski et al. | Polyhedral source-to-source compiler | |
Osmialowski | How the Flang frontend works: Introduction to the interior of the open-source fortran frontend for LLVM | |
JP2007233805A (ja) | プログラム変換システム | |
Tian | String Concatenation Optimization on Java Bytecode. | |
JP3551352B2 (ja) | ループ分割方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080729 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20081210 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20090420 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100623 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110510 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110920 |