Presentation | 2015-07-23 Dependency Based Factoring Takashi Nasu, Munehiro Takimoto, |
---|---|
PDF Download Page | PDF download Page Link |
Abstract(in Japanese) | (See Japanese page) |
Abstract(in English) | 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. |
Keyword(in Japanese) | (See Japanese page) |
Keyword(in English) | GPU / Branch divergence / Code factoring / Code clone / Congruence detection |
Paper # | SS2015-20,KBSE2015-13 |
Date of Issue | 2015-07-15 (SS, KBSE) |
Conference Information | |
Committee | KBSE / SS / IPSJ-SE |
---|---|
Conference Date | 2015/7/22(3days) |
Place (in Japanese) | (See Japanese page) |
Place (in English) | |
Topics (in Japanese) | (See Japanese page) |
Topics (in English) | |
Chair | Tadashi Iijima(Keio Univ.) / Shoji Yuen(Nagoya Univ.) |
Vice Chair | Shigeo Kaneda(Doshisha Univ.) / Kazuhiro Ogata(JAIST) |
Secretary | Shigeo Kaneda(Nihon Univ.) / Kazuhiro Ogata(Osaka Univ.) / (Tokyo Inst. of Tech.) |
Assistant | Shinpei Ogata(Shinshu Univ.) / Hiroaki Hashiura(Nippon Inst. of Tech.) / Yoshiki Higo(Osaka Univ.) |
Paper Information | |
Registration To | Technical Committee on Knowledge-Based Software Engineering / Technical Committee on Software Science / Special Interest Group on Software Engineering |
---|---|
Language | JPN |
Title (in Japanese) | (See Japanese page) |
Sub Title (in Japanese) | (See Japanese page) |
Title (in English) | Dependency Based Factoring |
Sub Title (in English) | |
Keyword(1) | GPU |
Keyword(2) | Branch divergence |
Keyword(3) | Code factoring |
Keyword(4) | Code clone |
Keyword(5) | Congruence detection |
1st Author's Name | Takashi Nasu |
1st Author's Affiliation | Tokyo University of Science(TUS) |
2nd Author's Name | Munehiro Takimoto |
2nd Author's Affiliation | Tokyo University of Science(TUS) |
Date | 2015-07-23 |
Paper # | SS2015-20,KBSE2015-13 |
Volume (vol) | vol.115 |
Number (no) | SS-153,KBSE-154 |
Page | pp.pp.57-62(SS), pp.57-62(KBSE), |
#Pages | 6 |
Date of Issue | 2015-07-15 (SS, KBSE) |