非常に偏った条件分岐が存在するプログラムのデータフロー最適化
スポンサーリンク
概要
- 論文の詳細を見る
共通部分式の削除, 定数・複写伝播などの最適化は, プログラムの実行速度を高めるための有効な手段である.これらの最適化は, 一般にデータフロー方程式を解きながら, プログラム全体に適用される.このような最適化はデータフロー最適化と呼ばれる.ところが, プログラム中には, 条件分岐による制御の流れの変更があり, データの伝播性や計算式の到達性が制限されることがある.この制限は, 条件分岐が存在した場合に避けることはできないが, 条件分岐の中には非常に希にしか起こらないものも存在し, そのような分岐中のほとんど実行されないコードの影響を考慮するために, データフロー最適化が少なからず制限されてしまう.このような制限を緩和する方法の1つに, 分岐の合流点から先をすべてコピーしてしまうという手法がある.しかしながら, このようなコピーは分岐の組合せによる爆発を起こしてしまうため, 実用的とはいえない.本論文では, 分岐の偏りを利用し, 希にしか実行されないコードに影響される部分のコピーを抑制することで, コード量の爆発を防ぎながら, データフロー最適化の制限を除去する手法を提案する.
- 2001-02-15
著者
関連論文
- デジタル・エコノミーの新潮流とそのIT基盤(デジタル・エコノミー)
- ループパーティショニングを用いたショートベクトル化技法
- 6N-4 レジスタ干渉グラフの分割による高速化手法に関する研究(数値計算とコンパイラ技術,学生セッション,アーキテクチャ)
- 非再試行型レジスタ割付けとその評価
- 生存区間分割時に発生する偽干渉を避けるための同時コピー中間コードの利用(ARC-6 : ソフトウェア最適化,2007年並列/分散/協調処理に関する『旭川』サマー・ワークショップ(SWoPP旭川2007))
- 分岐の相関を利用した効率的なパスプロファイリング
- 計算機資源を考慮したパイプライン並列性抽出手法
- 並列トランザクショナルアプリケーションのためのプログラミングフレームワーク
- 浮動小数点演算の正確さに関する投機を用いたJavaの数値計算の高速化
- 並列コピーの導入による生存区間分割手法の性能向上
- Javaにおける例外処理の実行時情報を利用した最適化
- コンパイル速度の向上を目的とした非反復型レジスタ割付け手法
- 頻出メソッド管理テーブルを用いたinvokeinterface命令の実行高速化手法
- ECUソフトウェアのシミュレーション実行時における状態方程式の遷移解析手法
- ECUソフトウェアのシミュレーション実行時における状態方程式の遷移解析手法
- ECUソフトウェアのシミュレーション実行時における状態方程式の遷移解析手法
- ECUソフトウェアのシミュレーション実行時における状態方程式の遷移解析手法
- 再現コンパイル手法を用いたJava JITコンパイラの問題判別
- 動的コンパイラのための実行時分岐予測を用いた最適化手法
- VMX命令セットを用いる高速なソートアルゴリズム(数値アルゴリズム)
- 非対称なスピンロックの提案とそのJavaへの応用
- スレッド局所性を利用したJavaロックの高速化
- ポータブルなPrologコンパイラーの実現
- JSIAIワークステーション(7) : Prologコンパイラの評価
- JSIAIワークステーション(6) : Prologコンパイラの最適化技法
- JSIAIワークステーション(5) : Prologコンパイラの概要と設計方針
- プログラムの信頼性向上を目的とした補助スレッドの効率的利用(ジョブスケジューリング, 「ハイパフォーマンスコンピューティングとアーキテクチャの評価」に関する北海道ワークショップ(HOKKE-2005))
- プログラムの信頼性向上を目的とした補助スレッドの効率的利用(ジョブスケジューリング, 「ハイパフォーマンスコンピューティングとアーキテクチャの評価」に関する北海道ワークショップ(HOKKE-2005))
- プログラムの信頼性向上を目的とした補助スレッドの効率的利用
- レジスタ生存グラフを用いたレジスタ割付けへのプロセッサ並列度の考慮
- B-001 補助スレッドによるソフトウェアの信頼性向上(B.ソフトウェア)
- 領域分割レジスタ生存グラフを用いたレジスタ割付けへの動的計画法の適用
- C-13 レジスタの有効利用を考慮した部分冗長性除去(計算機アーキテクチャと最適化,C.アーキテクチャ・ハードウェア)
- レジスタ生存グラフを用いたレジスタ割付け及びコードスケジューリング技法
- 実行時命令再構成機構を用いた投機的例外復旧手法(21世紀のコンピュータセキュリティ技術)
- ループパーティショニングを用いたショートベクトル化技法
- 制御依存の緩和を考慮した並列性抽出手法
- Java Just-In-Timeコンパイラにおける最適化とその評価
- SILSを対象としたMCUペリフェラルプログラムの自動コード生成
- SILSを対象としたMCUペリフェラルプログラムの自動コード生成
- SILSを対象としたMCUペリフェラルプログラムの自動コード生成
- SILSを対象としたMCUペリフェラルプログラムの自動コード生成
- 静的プロファイルを用いたファイル・プリフェッチ手法の提案
- HPF処理系の実現と評価
- ワークステーション・クラスタにおける動的なデータ交信/実行管理方法
- コード書換えによる動的メソッド呼び出しの直接devirtualization
- 分散メモリ並列計算機のためのコンパイラによる通信遅延隠蔽アルゴリズム
- HPFにおける実行時の通信解析オーバヘッドの削減手法
- HPFコンパイラにおける並列化手法
- 分散並列計算機のための並列性抽出法
- シリーズパラレル型レジスタ生存グラフを用いたレジスタ割付け技法とその評価
- 2000-ARC-139-6 シリーズパラレル型レジスタ生存グラフを用いたレジスタ割付けへの動的計画法の適用
- レジスタ生存グラフを用いたレジスタ割付け手法の改善
- 動的コンパイラにおける実行時経路情報の構造的収集手法の提案
- 大域的なコード移動を使った複数式の実行コスト削減法
- Java言語に対する投機的なメモリアクセスの最適化手法
- 冗長な符号拡張命令の除去手法
- Java言語に対する効果的なNullチェックの最適化手法
- 命令レベル並列アーキテクチャのためのループアンローリングおよびソフトウェアパイプライニング適用技法
- コンパイル時未定義ループ不変値を添字式に持つループの最内ループ並列化の1手法
- 細粒度並列計算機NLITHの実現とその評価
- 細粒度並列計算機NLITHの概要
- バイトコードパターンマッチによるJavaインタプリタの高速化手法
- ソフトウェアを援用した投機的例外処理機構の実現と評価
- 日本IBM創立70周年記念企画 東京基礎研究所の歩みとIBMの先進テクノロジー(TRL25周年) (特集 イノベーションを生み出すDNA--日本IBM創立70周年記念特集)
- データ並列言語における集団通信の実行時認識手法
- データ依存不確定ループの最内ループ並列化
- Hadoopを活用した大規模データ解析の動向と今後の展望(クラウドとアナリティクス)
- ループバージョニングのためのプレディケート抽出手法の提案
- 2D-1 ガード付きPDGを用いた命令レベル並列アーキテクチャのための最適化コンパイラの実現
- プレディケート付き依存グラフを用いたバージョニング手法
- 拡張VLIWプロセッサGIFTにおけるブランチハンドリング機構
- ソフトウェアによる投機的例外処理の実現
- 命令レベル並列アーキテクチャのためのコードスケジューラおよびレジスタアロケータの協調技法
- レジスタ生存グラフを用いたレジスタ割付け技法
- 拡張VLIWプロセッサGIFTにおける投機的実行支援機構
- 多重ループステージングにおける通信遅延隠蔽技法
- 命令レベル並列アーキテクチャのための大域的コードスケジューリング技法
- 依存グラフを用いてアーキテクチャ独立な最適化と対象計算機の資源制約を調整する手法
- 非常に偏った条件分岐が存在するプログラムのデータフロー最適化
- ショートベクトルプロセッサ向けループ並列化技法
- ショートベクトルプロセッサ向けループ並列化技法
- 実行環境が異なる2つのコード間の遷移を行う際の効果的な最適化手法
- 命令レベル並列計算機上で並列実行する領域の選択を高速に行う方法