Directed Research Project Details
Supporting Automatic Performance Tuning
|Date:||March 29, 2010|
|Committee:||Allen Malony (Chair)|
Parallel applications running on high-end computer systems manifest a complex combination of performance parameters, such as number of processors, work distributions, and computational efficiencies. Automatic performance tuning tools strive to find the parameters that yield the highest performance. Most of these tuning tools leverage an empirical performance evaluation of parallel systems and applications which can generate significant amounts of performance data and analysis results from multiple experiments. However in many real applications it is not practical to generate all the performance data to choose the best configuration of parameters due to the huge amount of time that this task requires. This study discusses the role of machine learning in supporting automatic performance tuning of parallel application. In particular, I propose a methodology to apply machine learning algorithms to learn the performance space by considering some portion of the performance data and predicting the most efficient tuning parameters. I target my procedure to GPUs since they exhibit irregular characteristics which make prediction difficult.