Moving data through the memory hierarchy is a fundamental bottleneck that can limit the performance of core algorithms of machine learning, such as convolutional neural networks (CNNs). Loop-level optimization, including loop tiling and loop permutation, are fundamental transformations to reduce data movement. However, the search space for finding the best loop-level optimization configuration is explosively large. This paper develops an analytical modeling approach for finding the best loop-level optimization configuration for CNNs on multi-core CPUs. Experimental evaluation shows that this approach achieves comparable or better performance than state-of-the-art libraries and auto-tuning based optimizers for CNNs.
@article{arxiv.2101.09808,
title = {Analytical Characterization and Design Space Exploration for Optimization of CNNs},
author = {Rui Li and Yufan Xu and Aravind Sukumaran-Rajam and Atanas Rountev and P. Sadayappan},
journal= {arXiv preprint arXiv:2101.09808},
year = {2021}
}
Comments
In proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '21), April 19-23, 2021, Virtual, USA