Title :
Optimizing Sorting with Machine Learning Algorithms
Author :
Li, Xiaoming ; Garzarán, María Jes us ; Padua, David
Author_Institution :
Dept. of Electr. & Comput.Eng., Illinois Univ., Urbana, IL
Abstract :
The growing complexity of modern processors has made the development of highly efficient code increasingly difficult. A promising automatic code generation strategy is implemented by library generators. This approach has mainly been applied to scientific codes which can be optimized by identifying code characteristics that depend only on the target machine. In this paper, we study the generation of sorting routines whose performance also depends on the characteristics of the input data. We present two approaches to generate efficient sorting routines. First, we consider the problem of selecting the best "pure" sorting algorithm as a function of the characteristics of the input data. We used machine learning algorithms to compute a function for each target machine that, at runtime, is used to select the best algorithm. Our second approach generalizes the first approach and can build new sorting algorithms from a few primitive operations. We use genetic algorithms and a classifier system to build hierarchically-organized hybrid sorting algorithms. Our results show that the algorithms generated using this second approach are quite effective and perform significantly better than the many conventional sorting implementations we tested. In particular, the routines generated using the second approach performs better than the most popular libraries available today: IBM ESSL, INTEL MKL and the C+ + STL.
Keywords :
genetic algorithms; learning (artificial intelligence); optimising compilers; software libraries; C++ STL library; IBM ESSL library; INTEL MKL library; automatic code generation strategy; classifier system; genetic algorithms; library generators; machine learning algorithms; sorting routines opimization; Character generation; Genetic algorithms; Libraries; Machine learning algorithms; Optimizing compilers; Power generation; Signal processing algorithms; Sorting; Spirals; Tiles;
Conference_Titel :
Parallel and Distributed Processing Symposium, 2007. IPDPS 2007. IEEE International
Conference_Location :
Long Beach, CA
Print_ISBN :
1-4244-0910-1
Electronic_ISBN :
1-4244-0910-1
DOI :
10.1109/IPDPS.2007.370499