Extendable pattern-oriented optimization directives
Institute of Computing Technology, Chinese Academy of Sciences, China
9th Annual IEEE/ACM International Symposium on Code Generation and Optimization (CGO), 2011
@inproceedings{cui2011extendable,
title={Extendable pattern-oriented optimization directives},
author={Cui, H. and Xue, J. and Wang, L. and Yang, Y. and Feng, X. and Fan, D.},
booktitle={Code Generation and Optimization (CGO), 2011 9th Annual IEEE/ACM International Symposium on},
pages={107–118},
year={2011},
organization={IEEE}
}
Current programming models and compiler technologies for multi-core processors do not exploit well the performance benefits obtainable by applying algorithm-specific, i.e., semantic-specific optimizations to a particular application. In this work, we propose a pattern-making methodology that allows algorithm-specific optimizations to be encapsulated into "optimization patterns" that are expressed in terms of pre-processor directives so that simple annotations can result in significant performance improvements. To validate this new methodology, a framework, named EPOD, is developed to map such directives to the underlying optimization schemes. We have identified and implemented a number of optimization patterns for three representative computer platforms. Our experimental results show that a pattern-guided compiler can outperform the state-of-the-art compilers and even achieve performance as competitive as hand-tuned code. Thus, such a pattern-making methodology represents an encouraging direction for domain experts’ experience and knowledge to be integrated into general-purpose compilers.
December 17, 2011 by hgpu