Sculptor: Flexible Approximation with Selective Dynamic Loop Perforation

被引:17
作者
Li, Shikai [1 ]
Park, Sunghyun [1 ]
Mahlke, Scott [1 ]
机构
[1] Univ Michigan, Ann Arbor, MI 48109 USA
来源
INTERNATIONAL CONFERENCE ON SUPERCOMPUTING (ICS 2018) | 2018年
基金
美国国家科学基金会;
关键词
Approximate Computing; Compiler; Runtime System; OPTIMIZATION;
D O I
10.1145/3205289.3205317
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Loop perforation is one of the most well known software techniques in approximate computing. It transforms loops to periodically skip subsets of their iterations. It is general, simple, and effective. However, during analysis, it only considers the number of instructions to skip, but does not consider the differences between instructions and loop iterations. Based on our observation, these differences have considerable influence on performance and accuracy. To improve traditional perforation, we introduce selective dynamic loop perforation, a general approximation technique that automatically transforms loops to skip selected instructions in selected iterations. It provides the flexibility to craft approximation strategies at the dynamic instruction level. The main challenges in selective dynamic loop perforation are how to capture the characteristics of instructions, optimize perforation strategies based on these characteristics, and minimize additional runtime overhead. In this paper, we propose several compiler optimizations to resolve these challenges, including optimized instruction-level, load based and store based selective perforation, and self-directed dynamic perforation with a dynamic start and dynamic perforation rates. Across a range of 8 applications from various domains, selective dynamic loop perforation achieves average speedups of 2.89x and 4.07x with 5% and 10% error budgets, while traditional loop perforation achieves 1.47x and 1.93x, respectively, for the same error budgets.
引用
收藏
页码:341 / 351
页数:11
相关论文
共 42 条
[1]  
Agarwal Anant, 2009, TECHNICAL REPORT
[2]  
[Anonymous], 2016, 2016 49th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO)
[3]  
[Anonymous], 2013, P 8 ACM EUR C COMP S
[4]  
[Anonymous], 1998, The Algorithm Design Manual
[5]  
[Anonymous], 2015, UWCSE150101
[6]  
[Anonymous], 2009, P BIENN GSCL C
[7]  
Ansel J, 2011, INT SYM CODE GENER, P85, DOI 10.1109/CGO.2011.5764677
[8]   Online feedback-directed optimization of Java']Java [J].
Arnold, M ;
Hind, M ;
Ryder, BG .
ACM SIGPLAN NOTICES, 2002, 37 (11) :111-129
[9]   Green: A Framework for Supporting Energy-Conscious Programming using Controlled Approximation [J].
Baek, Woongki ;
Chilimbi, Trishul M. .
ACM SIGPLAN NOTICES, 2010, 45 (06) :198-209
[10]   The PARSEC Benchmark Suite: Characterization and Architectural Implications [J].
Bienia, Christian ;
Kumar, Sanjeev ;
Singh, Jaswinder Pal ;
Li, Kai .
PACT'08: PROCEEDINGS OF THE SEVENTEENTH INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, 2008, :72-81