• DocumentCode
    2790944
  • 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
  • fYear
    2007
  • fDate
    26-30 March 2007
  • Firstpage
    1
  • Lastpage
    6
  • 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;
  • fLanguage
    English
  • Publisher
    ieee
  • 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
  • Type

    conf

  • DOI
    10.1109/IPDPS.2007.370499
  • Filename
    4228227