## Optimizing Sorting with Machine Learning Algorithms

Citations: | 5 - 0 self |

### BibTeX

@MISC{Li_optimizingsorting,

author = {Xiaoming Li and María Jesús Garzarán and David Padua},

title = {Optimizing Sorting with Machine Learning Algorithms},

year = {}

}

### OpenURL

### Abstract

The growing complexity of modern processors has made the development of highly efficient code increasingly difficult. Manually developing highly efficient code is usually expensive but necessary due to the limitations of today’s compilers. A promising automatic code generation strategy, implemented by library generators such as ATLAS, FFTW, and SPIRAL, relies on empirical search to identify, for each target machine, the code characteristics, such as the tile size and instruction schedules, that deliver the best performance. 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

### Citations

695 |
The Art of Computer Programming, Volume 3: Sorting and Searching, Second Edition
- Knuth
- 1998
(Show Context)
Citation Context ...n Computer Science. A large number of sorting algorithms have been proposed and their asymptotic complexity, in terms of the number of comparisons or number of iterations, has been carefully analyzed =-=[7]-=-. However, performance of sorting algorithms on real machines is less well understood especially when complex factors such as locality and instruction level parallelism are taken into account. Our fir... |

227 | Optimizing Matrix Multiply using PHiPAC: A Portable, High-Performance, ANSI C Coding Methodology
- Bilmes, Asanovic, et al.
- 1997
(Show Context)
Citation Context ...emantic information to apply transformations at all levels of abstractions. The most powerful library generators are not just program optimizers, but true algorithm design systems. ATLAS [10], PHiPAC =-=[2]-=-, FFTW [4] and SPIRAL [11] are among the best known library generators. ATLAS and PHiPAC generate linear algebra routines and focus the optimization process on the implementation of matrix-matrix mult... |

153 | A fast Fourier transform compiler
- Frigo
- 1999
(Show Context)
Citation Context ...formation to apply transformations at all levels of abstractions. The most powerful library generators are not just program optimizers, but true algorithm design systems. ATLAS [10], PHiPAC [2], FFTW =-=[4]-=- and SPIRAL [11] are among the best known library generators. ATLAS and PHiPAC generate linear algebra routines and focus the optimization process on the implementation of matrix-matrix multiplication... |

88 | Implementing Quicksort Programs - Sedgewick - 1978 |

82 | Spl: A language and compiler for dsp algorithms
- Xiong, Johnson, et al.
(Show Context)
Citation Context ...ply transformations at all levels of abstractions. The most powerful library generators are not just program optimizers, but true algorithm design systems. ATLAS [10], PHiPAC [2], FFTW [4] and SPIRAL =-=[11]-=- are among the best known library generators. ATLAS and PHiPAC generate linear algebra routines and focus the optimization process on the implementation of matrix-matrix multiplication. During the ins... |

43 |
A synthesis of several sorting algorithms
- Darlington
- 1978
(Show Context)
Citation Context ...primitives were identified based on experiments with three sorting algorithms: quicksort, CCradix sort, and multiway merge sort; and the study of the factors that affect their performance. Darlington =-=[3]-=- introduced the idea of sorting primitives and identified two of them: merge sort and quicksort. We use six primitives representing the three pure algorithms mentioned above which are the ones that ob... |

25 |
The Design of Optimal DFT Algorithms Using Dynamic Programming
- Johnson, Burrus
- 1983
(Show Context)
Citation Context ...TW, generate signal processing libraries. The search space in SPIRAL or FFTW is too large for exhaustive search to be possible. Thus, these systems search using heuristics such as dynamic programming =-=[4, 6]-=-, or genetic algorithms [9]. In this project, we explore the problem of generating high-quality sorting routines. Compared sorting with the algorithms implemented by the library generators just mentio... |

19 | Stochastic Search for Signal Processing Algorithm Optimization
- Singer, Veloso
- 2001
(Show Context)
Citation Context ... libraries. The search space in SPIRAL or FFTW is too large for exhaustive search to be possible. Thus, these systems search using heuristics such as dynamic programming [4, 6], or genetic algorithms =-=[9]-=-. In this project, we explore the problem of generating high-quality sorting routines. Compared sorting with the algorithms implemented by the library generators just mentioned, the difference is that... |

9 |
CC-Radix: A Cache Conscious Sorting Based on Radix Sort
- Jiménez-González, Navarro, et al.
- 2003
(Show Context)
Citation Context ... parameter influences the number of registers are used at the leaf level. These parameter, therefore, influence the performance of quicksort. For radix sort we use the implementation of Jiménez et al =-=[5]-=-, which is an improved Reverse Radix Sort [7]. The key improvement of CC-radix sort to the Reverse Radix Sort is that CC-radix sort recursively checks if the data structures to sort the keys (the orig... |