Improving register allocation for subscripted variables
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Program optimization and parallelization using idioms
ACM Transactions on Programming Languages and Systems (TOPLAS)
Case-based reasoning
Compiler transformations for high-performance computing
ACM Computing Surveys (CSUR)
A user level program transformation tool
ICS '98 Proceedings of the 12th international conference on Supercomputing
Program Development Tools for Clusters of Shared Memory Multiprocessors
The Journal of Supercomputing
Polaris: Improving the Effectiveness of Parallelizing Compilers
LCPC '94 Proceedings of the 7th International Workshop on Languages and Compilers for Parallel Computing
A Machine Learning Approach to Automatic Production of Compiler Heuristics
AIMSA '02 Proceedings of the 10th International Conference on Artificial Intelligence: Methodology, Systems, and Applications
Adaptive java optimisation using instance-based learning
Proceedings of the 18th annual international conference on Supercomputing
The design and architecture of MAQAOAdvisor: a live tuning guide
HiPC'08 Proceedings of the 15th international conference on High performance computing
Hi-index | 0.00 |
For most parallel and high performance systems, tuning guides provide the users with advices to optimize the execution time of their programs. Execution time may be very sensitive to small program changes. Such modifications may be local (on loop) or global (data structures and layout).In this paper, we propose to help end-users with the tuning process through an interactive tool complementary to existing compilers and automatic parallelizers. Our goal is to provide a live tuning guide capable of detecting optimization opportunities that are not caught by existing tools. Our first prototype, called CAHT (Computer Aided Hand Tuning), targets SMP architectures for OpenMP programs. CAHT relies on a very general technique, case based reasoning. This technique is adequate to experiment and build an easily expandable and flexible system. Our first implementation applies to scientific codes written in Fortran 77.