IDEAS home Printed from https://ideas.repec.org/a/gam/jmathe/v9y2021i17p2033-d620895.html
   My bibliography  Save this article

OpenCNN: A Winograd Minimal Filtering Algorithm Implementation in CUDA

Author

Listed:
  • Roberto L. Castro

    (Centro de Investigación CITIC, Universidade da Coruña, Campus de Elviña, 15071 A Coruña, Spain)

  • Diego Andrade

    (Centro de Investigación CITIC, Universidade da Coruña, Campus de Elviña, 15071 A Coruña, Spain)

  • Basilio B. Fraguela

    (Centro de Investigación CITIC, Universidade da Coruña, Campus de Elviña, 15071 A Coruña, Spain)

Abstract

Improving the performance of the convolution operation has become a key target for High Performance Computing (HPC) developers due to its prevalence in deep learning applied mainly to video processing. The improvement is being pushed by algorithmic and implementation innovations. Algorithmically, the convolution can be solved as it is mathematically enunciated, but other methods allow to transform it into a Fast Fourier Transform (FFT) or a GEneral Matrix Multiplication (GEMM). In this latter group, the Winograd algorithm is a state-of-the-art variant that is specially suitable for smaller convolutions. In this paper, we present openCNN, an optimized CUDA C++ implementation of the Winograd convolution algorithm. Our approach achieves speedups of up to 1.76 × on Turing RTX 2080Ti and up to 1.85 × on Ampere RTX 3090 with respect to Winograd convolution in cuDNN 8.2.0. OpenCNN is released as open-source software.

Suggested Citation

  • Roberto L. Castro & Diego Andrade & Basilio B. Fraguela, 2021. "OpenCNN: A Winograd Minimal Filtering Algorithm Implementation in CUDA," Mathematics, MDPI, vol. 9(17), pages 1-19, August.
  • Handle: RePEc:gam:jmathe:v:9:y:2021:i:17:p:2033-:d:620895
    as

    Download full text from publisher

    File URL: https://www.mdpi.com/2227-7390/9/17/2033/pdf
    Download Restriction: no

    File URL: https://www.mdpi.com/2227-7390/9/17/2033/
    Download Restriction: no
    ---><---

    Corrections

    All material on this site has been provided by the respective publishers and authors. You can help correct errors and omissions. When requesting a correction, please mention this item's handle: RePEc:gam:jmathe:v:9:y:2021:i:17:p:2033-:d:620895. See general information about how to correct material in RePEc.

    If you have authored this item and are not yet registered with RePEc, we encourage you to do it here. This allows to link your profile to this item. It also allows you to accept potential citations to this item that we are uncertain about.

    We have no bibliographic references for this item. You can help adding them by using this form .

    If you know of missing items citing this one, you can help us creating those links by adding the relevant references in the same way as above, for each refering item. If you are a registered author of this item, you may also want to check the "citations" tab in your RePEc Author Service profile, as there may be some citations waiting for confirmation.

    For technical questions regarding this item, or to correct its authors, title, abstract, bibliographic or download information, contact: MDPI Indexing Manager (email available below). General contact details of provider: https://www.mdpi.com .

    Please note that corrections may take a couple of weeks to filter through the various RePEc services.

    IDEAS is a RePEc service. RePEc uses bibliographic data supplied by the respective publishers.