一句话:提出面向多核 CPU 上 CNN 循环级优化的解析建模方法,以高效搜索最优分块与循环置换配置。
卷积神经网络等机器学习核心算法的性能常受限于存储层次中的数据移动。循环分块与循环置换等循环级变换可减少数据移动,但最优配置的搜索空间随维度和参数组合爆炸增长。本文针对多核 CPU 上的 CNN,提出一种解析建模方法,对循环级优化配置的性能进行刻画并指导设计空间探索,从而高效找到最佳分块与循环置换方案。实验表明,该方法在 CNN 上达到与当前最优库及基于自动调优的优化器相当或更好的性能。
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.
@inproceedings{paperbot6141,
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},
booktitle = {ASPLOS},
year = {2021},
doi = {10.1145/3445814.3446759}
}