Tucker decomposition is one of the SOTA CNN model compression techniques.
However, unlike the FLOPs reduction, we observe very limited inference time
reduction with Tuckercompressed models using existing GPU software such as
cuDNN. To this end, we propose an efficient end-to-end framework that can
generate highly accurate and compact CNN models via Tucker decomposition and
optimized inference code on GPUs. Specifically, we propose an ADMM-based
training algorithm that can achieve highly accurate Tucker-format models. We
also develop a high-performance kernel for Tucker-format convolutions and
analytical performance models to guide the selection of execution parameters.
We further propose a co-design framework to determine the proper Tucker ranks
driven by practical inference time (rather than FLOPs). Our evaluation on five
modern CNNs with A100 demonstrates that our compressed models with our
optimized code achieve up to 3.14X speedup over cuDNN, 1.45X speedup over TVM,
and 4.57X over the original models using cuDNN with up to 0.05% accuracy loss.