Raced Profiles: Efficient Selection of Competing Compiler Optimizations

被引:0
|
作者
Leather, Hugh [1 ]
O'Boyle, Michael [1 ]
Worton, Bruce [2 ]
机构
[1] Univ Edinburgh, Sch Informat, Edinburgh EH8 9YL, Midlothian, Scotland
[2] Univ Edinburgh, Sch Math, Edinburgh EH8 9YL, Midlothian, Scotland
关键词
Measurement; Performance; Iterative Compilation; Statistics;
D O I
10.1145/1543136.1542460
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Many problems in embedded compilation require one set of optimizations to be selected over another based on run time performance. Self-tuned libraries, iterative compilation and machine learning techniques all compare multiple compiled program versions. In each, program versions are timed to determine which has the best performance. The program needs to be run multiple times for each version because there is noise inherent in most performance measurements. The number of runs must be enough to compare different versions, despite the noise, but executing more than this will waste time and energy. The compiler writer must either risk taking too few runs, potentially getting incorrect results, or taking too many runs increasing the time for their experiments or reducing the number of program versions evaluated. Prior works choose constant size sampling plans where each compiled version is executed a fixed number of times without regard to the level of noise. In this paper we develop a sequential sampling plan which can automatically adapt to the experiment so that the compiler writer can have both confidence in the results and also be sure that no more runs were taken than were needed. We show that our system is able to correctly determine the best optimization settings with between 76% and 87% fewer runs than needed by a brute force, constant sampling size approach. We also compare our approach to JavaSTATS(10); we needed 77% to 89% fewer runs than it needed.
引用
收藏
页码:50 / 59
页数:10
相关论文
共 50 条
  • [21] Influence of compiler optimizations on value prediction
    Sato, T
    Hamano, A
    Sugitani, K
    Arita, I
    HIGH-PERFORMANCE COMPUTING AND NETWORKING, 2001, 2110 : 312 - 321
  • [22] Generating Compiler Optimizations from Proofs
    Tate, Ross
    Stepp, Michael
    Lerner, Sorin
    ACM SIGPLAN NOTICES, 2010, 45 (01) : 389 - 402
  • [23] Advanced Compiler Optimizations for Sparse Computations
    J Parallel Distrib Comput, (14):
  • [24] COMPILER OPTIMIZATIONS FOR IMPROVING DATA LOCALITY
    CARR, S
    MCKINLEY, KS
    TSENG, CW
    SIGPLAN NOTICES, 1994, 29 (11): : 252 - 262
  • [25] Effect of compiler optimizations on memory energy
    Kim, HS
    Irwin, MJ
    Vijaykrishnan, N
    Kandemir, M
    2000 IEEE WORKSHOP ON SIGNAL PROCESSING SYSTEMS: DESIGN AND IMPLEMENTATION, 2000, : 663 - 672
  • [26] Influence of compiler optimizations on system power
    Kandemir, M
    Vijaykrishnan, N
    Irwin, MJ
    Ye, W
    37TH DESIGN AUTOMATION CONFERENCE, PROCEEDINGS 2000, 2000, : 304 - 307
  • [27] ADVANCED COMPILER OPTIMIZATIONS FOR SPARSE COMPUTATIONS
    BIK, AJC
    WIJSHOFF, HAG
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 1995, 31 (01) : 14 - 24
  • [28] COMP: Compiler Optimizations for Manycore Processors
    Song, Linhai
    Feng, Min
    Ravi, Nishkam
    Yang, Yi
    Chakradhar, Srimat
    2014 47TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE (MICRO), 2014, : 659 - 671
  • [29] COMPILER OPTIMIZATIONS FOR ELIMINATING BARRIER SYNCHRONIZATION
    TSENG, CW
    SIGPLAN NOTICES, 1995, 30 (08): : 144 - 155
  • [30] A Framework for Formal Verification of Compiler Optimizations
    Mansky, William
    Gunter, Elsa
    INTERACTIVE THEOREM PROVING, PROCEEDINGS, 2010, 6172 : 371 - 386