Optimizing Grouped Convolutions on Edge Devices
  When deploying a deep neural network on constrained hardware, it is possible
to replace the network's standard convolutions with grouped convolutions. This
allows for substantial memory savings with minimal loss of accuracy. However,
current implementations of grouped convolutions in modern deep learning
frameworks are far from performing optimally in terms of speed. In this paper
we propose Grouped Spatial Pack Convolutions (GSPC), a new implementation of
grouped convolutions that outperforms existing solutions. We implement GSPC in
TVM, which provides state-of-the-art performance on edge devices. We analyze a
set of networks utilizing different types of grouped convolutions and evaluate
their performance in terms of inference time on several edge devices. We
observe that our new implementation scales well with the number of groups and
provides the best inference times in all settings, improving the existing
implementations of grouped convolutions in TVM, PyTorch and TensorFlow Lite by
3.4x, 8x and 4x on average respectively. Code is available at
https://github.com/gecLAB/tvm-GSPC/
