著者
坂本 諒 千葉 雄司 久保田 光一 土居 範久
雑誌
情報処理学会論文誌プログラミング(PRO) (ISSN:18827802)
巻号頁・発行日
vol.4, no.2, pp.48-66, 2011-03-25

本論文では SH4A 向けコンパイラにおいて浮動小数点演算の演算精度を指定する命令を選択し,挿入先を定める手段として,0-1 整数計画法を利用する手法を提案し,その実用性を評価した結果を示す.SH4A は浮動小数点演算命令の実行時にどの精度で演算を行うか指定するための命令を 2 種類提供するが,それぞれ挿入可能な箇所と実行コストが異なる.このため SH4A 向けコンパイラでは,どこでどの命令を使って精度の指定を行うべきか判断する必要があるが,提案技法ではこの判断に 0-1 整数計画法を利用する.また,0-1 整数計画法がコンパイル時間に与える悪影響を軽減するために,挿入箇所を求める問題を分割,簡約化する技法も提案する.分割や簡約化を適用しても最適解の探索に膨大な時間がかかる場合はあるが,そのような場合には最適解を求めることを諦め,探索を中断してヒューリスティックにより解を求める.組み込み機器向けベンチマーク EEMBC benchmark suite および組み込みプロセッサ向けベンチマーク CoreMark を使って評価したところ,提案技法でコードサイズを最適化すると,コードサイズを 1.2% 小さくできることが分かり,このときコンパイル時間の増加率は相乗平均で 13.5% になり,最適解を求ることができた問題の比率は 99.9% 以上になることが分かった.また,CoreMark を使って評価したところ,提案技法で実行サイクル数を最適化すると,最適化しない場合と比べ,精度指定にかかる実行サイクル数と,アプリケーション全体の実行サイクル数をそれぞれ 64.1% と 3.1% 削減できることが分かった.