Study of OpenCL-Based Neural Network Convolutions on GPUs
摘要
Nowadays, the usage of Nvidia GPUs is the most common hardware solution for solving deep learning tasks. There are implemented many well-optimized deep learning libraries for such accelerators using CUDA technology. However, an important and not as researched area as the optimization of neural network algorithms using CUDA is the implementation of effective neural network algorithms designed for a wide range of GPU architectures. In particular, we are talking about algorithms that implement convolutional layers in deep neural networks. This paper proposes an approach implementing convolutional operations with OpenCL technology. We implement several convolution algorithms and investigate their efficiency for different input parameter sizes. Moreover, we investigate their scalability in case of multiple GPUs usage. Based on the analysis results, we give recommendations on which convolution algorithm to use, depending on the parameters of the input data.