AMULET: Adaptive Matrix-Multiplication-Like Tasks
Video
Team Information
Team Members
Junyoung Kim, Graduate Student, Department of Applied Physics and Mathematics, Graduate School of Arts and Sciences, Columbia University
Faculty Advisor: Kenneth Ross, Professor of Computer Science, Columbia University
Abstract
Many useful tasks in data science and ML applications can be written as simple variations of matrix multiplication. However, users have difficulty performing such tasks as existing matrix/vector libraries support only a limited class of computations hand-tuned for each unique hardware platform. Users can alternatively write the task as a simple nested loop but current compilers are not sophisticated enough to generate fast code for the task written in this way. To address these issues, we extend an open-source compiler to recognize and optimize these matrix multiplication-like tasks. Our framework, called Amulet, uses both database-style and compiler optimization techniques to generate fast code tailored to its execution environment. Amulet achieves speedups on a variety of matrix multiplication-like tasks compared to existing compilers, and has decent performance on matrix multiplication without manual tuning.
Team Lead Contact
Junyoung Kim: junyoung2@cs.columbia.edu