講演名 2015-07-23
依存関係に基づく括出し法
那須 孝志(東京理科大), 滝本 宗宏(東京理科大),
PDFダウンロードページ PDFダウンロードページへ
抄録(和) SIMD実行によって引き起こされる分岐発散は,GPUの効率低下を引き起こす主要な問題である.この分岐発散を改善する手法として,括出しと呼ばれる最適化が有効であることが知られている.しかし,従来の括出し法では,依存関係をもつ複数の計算を括り出す際,新たな分岐の挿入を複数回必要とする場合があった.本稿では,演算子の一致性だけに基づいた従来の括出し法を拡張し,括り出す計算の依存関係も考慮した括出し法を提案する.その上で,より大きな依存構造をもつ計算を優先して括り出すことによって,従来法よりも多くの括出しを,一度の分岐挿入で実現する.また,各分岐の訪問順序を考慮して括り出すことで,入れ子になった分岐からの括出しも可能にする.提案手法の有用性を示すため,SPEC CPU2000とGPUの各ベンチマークを用いて実験を行ったところ,従来法と比較し最大で77%多くの括出しを実現し,最大で約12%の実行速度向上が得られることを確認した.
抄録(英) Branch divergence caused by Single Instruction Multiple Data (SIMD) execution extremely decreases the performance of GPU. One of effective optimizations for suppressing the branch divergence is code factoring, which is a program transformation factoring out instructions with identical operators on branch paths as a common instruction. In general, the factorization of several instructions may require introduction of some new branches to hold dependencies of the instructions at the sacrifice of the optimization effect. In other words, the naive factorization of instructions may prevent subsequent instructions from being factored out through a single branch insertion. In this paper, we propose a new code factoring approach that not only detects instructions with identical operators, but also considers their dependencies. Our approach preferentially factors out the larger sequence of instructions with the same dependence structure, so that more instructions can be factored out through a single branch insertion. Furthermore, the factorization manner enables factoring instructions across nested branches. In order to prove the effectiveness of our approach, we have conducted experiments for the number of instructions factored out and the improvement of execution efficiency on SPEC CPU2000 and GPU benchmarks respectively. Their results show that our approach increases instructions factored out as much as 77% compared with the naive approach, and show that it maximally achieves speed-up by almost 12% on GPU.
キーワード(和) GPU / 分岐発散 / 括出し / コードクローン / 合同検出
キーワード(英) GPU / Branch divergence / Code factoring / Code clone / Congruence detection
資料番号 SS2015-20,KBSE2015-13
発行日 2015-07-15 (SS, KBSE)

研究会情報
研究会 KBSE / SS / IPSJ-SE
開催期間 2015/7/22(から3日開催)
開催地(和) 札幌市教育文化会館
開催地(英)
テーマ(和) 一般
テーマ(英)
委員長氏名(和) 飯島 正(慶大) / 結縁 祥治(名大)
委員長氏名(英) Tadashi Iijima(Keio Univ.) / Shoji Yuen(Nagoya Univ.)
副委員長氏名(和) 金田 重郎(同志社大) / 緒方 和博(北陸先端大)
副委員長氏名(英) Shigeo Kaneda(Doshisha Univ.) / Kazuhiro Ogata(JAIST)
幹事氏名(和) 松野 裕(日大) / 中川 博之(阪大) / 小林 隆志(東工大) / 鷲崎 弘宜(早大)
幹事氏名(英) Yutaka Matsuno(Nihon Univ.) / Hiroyuki Nakagawa(Osaka Univ.) / Takashi Kobayashi(Tokyo Inst. of Tech.) / Hironobu Washizaki(Waseda Univ.)
幹事補佐氏名(和) 小形 真平(信州大) / 橋浦 弘明(日本工大) / 肥後 芳樹(阪大)
幹事補佐氏名(英) Shinpei Ogata(Shinshu Univ.) / Hiroaki Hashiura(Nippon Inst. of Tech.) / Yoshiki Higo(Osaka Univ.)

講演論文情報詳細
申込み研究会 Technical Committee on Knowledge-Based Software Engineering / Technical Committee on Software Science / Special Interest Group on Software Engineering
本文の言語 JPN
タイトル(和) 依存関係に基づく括出し法
サブタイトル(和)
タイトル(英) Dependency Based Factoring
サブタイトル(和)
キーワード(1)(和/英) GPU / GPU
キーワード(2)(和/英) 分岐発散 / Branch divergence
キーワード(3)(和/英) 括出し / Code factoring
キーワード(4)(和/英) コードクローン / Code clone
キーワード(5)(和/英) 合同検出 / Congruence detection
第 1 著者 氏名(和/英) 那須 孝志 / Takashi Nasu
第 1 著者 所属(和/英) 東京理科大学(略称:東京理科大)
Tokyo University of Science(略称:TUS)
第 2 著者 氏名(和/英) 滝本 宗宏 / Munehiro Takimoto
第 2 著者 所属(和/英) 東京理科大学(略称:東京理科大)
Tokyo University of Science(略称:TUS)
発表年月日 2015-07-23
資料番号 SS2015-20,KBSE2015-13
巻番号(vol) vol.115
号番号(no) SS-153,KBSE-154
ページ範囲 pp.57-62(SS), pp.57-62(KBSE),
ページ数 6
発行日 2015-07-15 (SS, KBSE)