Developing efficient hardware solutions for processing Convolutional Neural Networks (CNNs) is an active area of research among the computer architecture community. While some model level modifications have been proposed over the years, the use of a transformed convolution scheme is the only approach, which guarantees performance improvement without the loss of accuracy. Among the transformed convolution schemes, the Winograd Minimal Filtering algorithm guarantees up to 2.25X performance improvement by significantly reducing the overall compute-intensity of the CNN. The Winograd convolution algorithm also accompanies an inherent parallelism called Intra Tile Parallelism, which presents a unique opportunity to further speedup the CNN processing. Our work proposes an efficient dataflow architecture, which exploits this Intra Tile parallelism to exhibit performance improvements for CNN processing over ResNet model. The performance improvements achieved from our experiments over the ResNet model outperform the state of the art results provided by NVIDIA's cuDNN library. We experienced a speedup of up to 2.14X for CNN layer processing time, and device memory bandwidth savings of up to 2.3X on Volta V100 Graphics Processing Unit (GPU), inside the NVIDIA's DGX-1 system, relative to their cuDNN library-based counterparts.
CNN(Convolutional Neural Networks) 처리를 위한 효율적인 하드웨어 솔루션 개발은 컴퓨터 구조 분야에서 활발한 연구 영역이다. 최근 수 년간 일부에서 모델 수준의 수정이 제안되었지만, 변형된 합성곱 연산의 사용은 정확성의 손실 없이 성능 향상을 보장하는 유일한 접근법이다. 변형된 합성곱 연산 방식 중 Winograd Minimal Filtering 알고리즘은 CNN의 전체 연산 밀도를 크게 감소시킴으로써 최소 2.25배의 성능 향상을 보장한다. 또한 이 알고리즘은 '타일 내부 병렬성'이라고 불리우는 병렬성을 내재하여 CNN의 처리 속도를 더욱 높일 수 있는 새로운 기회를 제공한다. 본 논문에서 우리는 ResNet 모델에서 성능 향상을 달성하기 위하여 타일 내부 병렬성을 활용하는 효율적인 데이터 흐름 아키텍처를 제안한다. ResNet 모델에 대한 우리의 실험에서 달성한 성능 향상은 NVIDIA의 최신 cuDNN 라이브러리를 능가한다. 결과적으로 NVIDIA의 DGX-1 시스템에 탑재된 Volta V100 GPU(Graphics Processing Unit)에서 CNN layer 처리 시간에 대해 최대 2.14배의 속도 향상과 함께 최대 2.3배의 메모리 대역폭 절감 효과를 확인하였다.