• We establish an efficient data layout method which consists of a data storage model and a data access model. This method is compatible with various CNN models on vector accelerators, so that all convolutional layers , pooling layers and fully connected layers of the network model can be efficiently vectorized and have high memory access efficiency. • We propose an efficient conversion method, which converts CNN's convolutional layer and fully connected layer computations into large-scale matrix multiplication computations, and converts pooling layer computations into efficient matrix row computations; All conversions are achieved by extracting rows from the two-dimensional matrix, which has high data access and transmission efficiency, and does not need additional memory overhead and data conversion. • We design a set of general and efficient vectorization method for convolutional layer, fully connected layer and pooling layer on the vector accelerator, which is well suited for all kinds of CNN network models. Vector Accelerators have been widely used in scientific computing. It also shows great potential to accelerate the computational performance of convolutional neural networks (CNNs). However, previous general CNN-mapping methods introduced a large amount of intermediate data and additional conversion, and the resulting memory overhead would cause great performance loss. To address these issues and achieve high computational efficiency, this paper proposes an efficient CNN-mapping method dedicated to vector accelerators, including: 1) Data layout method: establishing a set of efficient data storage and computing models for various CNN networks on vector accelerators. It achieves high memory access efficiency and high vectorization efficiency. 2) A conversion method: convert the computation of convolutional layers and fully connected layers into large-scale matrix multiplication, and convert the computation of pooling layers into row computation of matrix. All conversions are implemented by extracting rows from a two-dimensional matrix, with high data access and transmission efficiency, and without additional memory overhead and data conversion. Based on these methods, we design a vectorization mechanism to vectorize convolutional, pooling and fully connected layers on a vector accelerator, which can be applied for various CNN models. This mechanism takes full advantage of the parallel computing capability of the multi-core vector accelerator and further improves the performance of deep convolutional neural networks. The experimental results show that the average computational efficiency of the convolutional layers and full connected layers of AlexNet, VGG-19, GoogleNet and ResNet-50 is 93.3% and 93.4% respectively, and the average data access efficiency of pooling layer is 70%. Compared to NVIDIA inference GPUs, our accelerator achieves a 36.1% performance improvement, comparable to NVIDIA V100 GPUs. Compared with Matrix2000 of similar architecture, our accelerator achieves a 17-45% improvement in computational efficiency.
Read full abstract