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

Previous
Previous

iSamples (Internet of Samples): Cyberinfrastructure to Support Transdisciplinary Use of Material Samples

Next
Next

express: Extensible, High-level Workflows for Swifter ab initio Materials Modeling