[DAC'17] Automated Systolic Array

Automated systolic array architecture synthesis for high throughput CNN inference on FPGAs

Xuechao Wei, et.al. on June 18, 2017
doi.org
obsidian에서 수정하기

text : en kr

Abstract

(서론): 컨볼루션 신경망(CNN)은 많은 딥러닝 응용 프로그램에서 널리 사용되고 있습니다. 최근 몇 년 동안 FPGA를 사용한 CNN 구현은 높은 성능과 에너지 효율성 때문에 많은 관심을 받고 있습니다.

(한계): 하지만 기존 구현은 최신 FPGA의 계산 성능을 완전히 활용하는 데 어려움을 겪고 있습니다.

(방법론): 이 논문에서는 시스톨릭 배열 아키텍처를 사용하여 FPGA에서 CNN을 구현하여 높은 자원 활용률 하에서 높은 클록 주파수를 달성할 수 있도록 하였습니다. 우리는 성능과 자원 활용에 대한 분석 모델을 제공하고, 자동 설계 공간 탐색 프레임워크를 개발했으며, C 프로그램에서 시스톨릭 배열을 사용한 CNN 구현으로 소스 코드 변환을 수행했습니다.

(결론): 실험 결과, 우리의 프레임워크는 실제 CNN 모델을 위한 가속기를 생성할 수 있으며, 부동 소수점 데이터 형식에서는 최대 461 GFlops, 8-16비트 고정 소수점 데이터 형식에서는 1.2 Tops에 달하는 성능을 달성할 수 있음을 보여줍니다.

Contribution

  • 고처리량 CNN 설계: 우리는 시스톨릭 설계의 이점과 도전 과제를 체계적으로 조사합니다. 우리의 모델링 및 설계 공간 탐색 기법을 기반으로, 생성된 설계의 종단 간 처리량은 최대 461 GFlops 및 1.2 Tops에 도달할 수 있습니다.
  • 분석 모델 및 설계 공간 탐색 기법: 우리는 시스톨릭 설계의 성능 및 자원 활용을 분석하기 위한 분석 모델을 제안합니다. 대규모 설계 공간을 처리하기 위해 하드웨어 기능을 고려한 효율적인 설계 공간 탐색 기법을 개발하여 최적화 시간을 수백 시간에서 1분 미만으로 줄였습니다.
  • 종단 간 자동화 흐름: 우리는 고수준 C 코드에서 FPGA로 CNN 설계 생성을 수행하는 푸시버튼 자동화 흐름을 구현했습니다. 사용자에게 하드웨어 관련 저수준 고려사항이 필요하지 않습니다.