[ASPLOS 2020] FlexTensor: An Automatic Schedule Exploration and Optimization Framework for Tensor Computation on Heterogeneous System
Introduction 텐서 계산은 고차원 배열을 계산하는 걸 말한다. GPU에서는 cuDNN이, Intel CPU에서는 MKL이, FPGA에서는 FBLAS가 이를 도와준다. 이들은 모두 사람이 직접 만든 라이브러리다. 그렇기 때문에 알고리즘이 개발되는 것에 비해 느리다는 단점이 있다. 그리고 하드웨어에따라 라이브러리가 각기 다른 것이 있다시피 하드웨어에따라 최적화해줄 수 있는 부분이 다양해지기 때문에 모든 부분을 고려해주기는 힘들다. 그래서 본논문에서는 이를 AutoML을 이용해 다양한 schedule primitives를 fine-tuning해주는 프레임워크인 FlexTensor를 개발했다. Dense tensors에 대해서만 고려하였고, sparse tensor에 대해서는 고려하지 않았다. 경량/가..