CSR-AES: Machine Learning Based Library Generation Techniques for Multi-core Processors and GPUs
The goal of this research program is to develop adaptive library generation and optimization technology for emerging high-performance computer platforms - Multi-core processors and GPUs. Compared to the state-of-the-practice in library generations, the libraries for the new high-performance computation platforms will be optimized for extreme level of parallelism and be searched from a much larger design space. While many library generators have been proposed for existing computers, there has been little work towards a comprehensive approach to automatically generate libraries for the new platforms. The proposed research is meant to help fill this gap.
Specifically, this work proposes a framework of computation primitives that can systematically define the program design space for the new parallel architectures, and a synergistic search strategy that couples machine learning algorithms with computer architecture modeling to efficiently search the best form of library routines on multi-core processors and GPUs. The new code generation framework combines the flexibility and the capabilities of machine learning to handle complex search space, with the superior accuracy and the low overhead that architecture models provide. Furthermore, this project studies the software design tradeoffs between locality, parallelism, communication and design complexity. In particular, the new framework will be applied to important kernel routines, including matrix multiplication, Fast Fourier Transform (FFT), and sorting, so that users of the new high-performance computing platforms can readily exploit the high performance provided by the platforms.