2024-03-29T09:37:29Zhttps://ipsj.ixsq.nii.ac.jp/ej/?action=repository_oaipmhoai:ipsj.ixsq.nii.ac.jp:001781102023-04-27T10:00:04Z01164:02822:09120:09121
自動並列化コンパイラのコンパイル時間短縮のための実行プロファイル・フィードバックを用いたコード生成手法jpnネットワーク・組込みシステム開発http://id.nii.ac.jp/1001/00178022/Technical Reporthttps://ipsj.ixsq.nii.ac.jp/ej/?action=repository_action_common_download&item_id=178110&item_no=1&attribute_id=1&file_no=1Copyright (c) 2017 by the Information Processing Society of Japan早稲田大学理工学術院情報理工学科早稲田大学理工学術院情報理工学科早稲田大学理工学術院情報理工学科早稲田大学理工学術院情報理工学科オスカーテクノロジー株式会社オスカーテクノロジー株式会社早稲田大学理工学術院情報理工学科早稲田大学理工学術院情報理工学科藤野, 里奈韓, 吉新島岡, 護見神, 広紀宮島, 崇浩高村, 守幸木村, 啓二笠原, 博徳粗粒度タスク並列,ループ並列,近細粒度並列を階層的に組み合わせるマルチグレイン並列処理による自動並列化は,従来の単体ループ並列化に対しより高い並列性の利用が可能となる.特にこれまで並列化が困難と考えられていたループが存在しない条件分岐と基本ブロック及び関数から構成される自動車エンジン制御のプログラムに対しても粗粒度タスク並列化により性能向上が可能であることが確かめられている.このとき,自動車エンジン制御のようなセンサ入力に伴う条件分岐を多数含む組み込みハードリアルタイム制御システムでは,条件分岐方向を確実に予測することが困難なため,コンパイル時のタスク処理時間の高精度推定が難しい.このため,このような場合には実行時プロファイルを基に性能チューニングを行い,効果的な並列化が実現できるようになってきている.プロファイル ・ フィードバックによる自動並列化では,プロファイルを用いてタスク融合の最適化を行う都度プロファイリングを行いプロファイル情報をフィードバックする度に,プログラム全域の並列性を抽出し,翻訳を繰り返し行う必要がある.プログラムサイズが数百万行に及ぶ実プログラムを繰り返しコンパイルすると,翻訳時間が数時間から数十時間を要する場合もあり,プログラム翻訳時間の削減がソフトウェア生産性の面から重要である.本稿では,プロファイル情報を用いた再解析 ・ 再リストラクチャリングを可能な限り省略し,自動並列化コンパイラの翻訳時間の短縮を行う手法を提案する.更に,マルチグレイン並列処理でプログラムの自動並列化を行う OSCAR マルチグレイン自動並列化コンパイラに,本手法を実装し,評価を行う.翻訳時間の評価では,従来手法では 6935.19 [s] の翻訳時間がかかる粗粒度タスク数が多くループのほとんど無いテストプログラムが,本手法適用後,翻訳時間が 1.27 [s] まで削減された.また,並列化コードの実行時間の評価では,従来手法と本手法で生成した並列化コードの実行時間の差が 3% 以下となり,従来手法と本手法で並列化性能に差異はないことを確認した.AA12149313研究報告組込みシステム(EMB)2017-EMB-4435162017-03-022188-868x2017-03-01