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.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Study of OpenCL-Based Neural Network Convolutions on GPUs

  • Vadim Vakhrushev,
  • Nina Popova

摘要

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.