Skip to main content
QUICK REVIEW

[논문 리뷰] CNNLab: a Novel Parallel Framework for Neural Networks using GPU and FPGA-a Practical Study with Trade-off Analysis

Maohua Zhu, Liu Liu|arXiv (Cornell University)|2016. 06. 20.
Advanced Neural Network Applications참고 문헌 19인용 수 18
한 줄 요약

CNNLab는 GPU와 FPGA 가속기 간에 동적 워크로드 오프로딩을 수행하는 통합 프로그래밍 모델을 사용하여 비정형 멀티미디어 워크로드를 처리하는 새로운 이종 미들웨어 프레임워크이다. 이 프레임워크는 GPU에서 최대 100배의 성능 향상과 FPGA에서 50배 높은 에너지 효율성을 달성하였으며, 복합층에서는 유사한 에너지 효율성을 유지하고, 완전 연결층에서는 뛰어난 성능 밀도를 확보하였다.

ABSTRACT

Designing and implementing efficient, provably correct parallel neural network processing is challenging. Existing high-level parallel abstractions like MapReduce are insufficiently expressive while low-level tools like MPI and Pthreads leave ML experts repeatedly solving the same design challenges. However, the diversity and large-scale data size have posed a significant challenge to construct a flexible and high-performance implementation of deep learning neural networks. To improve the performance and maintain the scalability, we present CNNLab, a novel deep learning framework using GPU and FPGA-based accelerators. CNNLab provides a uniform programming model to users so that the hardware implementation and the scheduling are invisible to the programmers. At runtime, CNNLab leverages the trade-offs between GPU and FPGA before offloading the tasks to the accelerators. Experimental results on the state-of-the-art Nvidia K40 GPU and Altera DE5 FPGA board demonstrate that the CNNLab can provide a universal framework with efficient support for diverse applications without increasing the burden of the programmers. Moreover, we analyze the detailed quantitative performance, throughput, power, energy, and performance density for both approaches. Experimental results leverage the trade-offs between GPU and FPGA and provide useful practical experiences for the deep learning research community.

연구 동기 및 목표

  • 고성능과 저전력 소비를 동시에 확보하면서 대규모 딥 뉴럴 네트워크를 효율적으로 가속화하는 데 도전한다.
  • 통일된 프로그래밍 모델을 통해 하드웨어 복잡성을 추상화하여 머신 러닝 전문가의 프로그래밍 부담을 감소시킨다.
  • 워크로드 특성과 시스템 제약 조건에 기반해 GPU와 FPGA 간의 동적 작업 오프로딩을 가능하게 한다.
  • 성능, 처리량, 전력 소비, 에너지 효율성, 성능 밀도 측면에서 GPU와 FPGA 가속기 간의 정량적 트레이드오프 분석을 제공한다.
  • 실제 응용을 위한 실용적인 프로토타입을 개발하여 NVIDIA K40 GPU와 Intel-Altera DE5 FPGA를 사용해 종단 간 평가를 수행한다.

제안 방법

  • 딥 러닝 워크로드의 계산 집약적인 부분을 처리하기 위해 CPU, GPU, FPGA 가속기를 통합한 이종 하이브리드 시스템을 설계한다.
  • CUDA와 OpenCL를 사용하여 저수준 하드웨어 세부 정보를 추상화하고 신경망 레이어를 가속기로 원활하게 매핑할 수 있도록 통합 프로그래밍 모델을 구현한다.
  • 실시간 워크로드 프로파일링과 성능 제약 조건을 기반으로 GPU 또는 FPGA 중 하나를 선택하는 런타임 스케줄러를 개발한다.
  • 실제 신경망 모델에서 종단 간 성능 평가를 위해 NVIDIA K40 GPU와 Altera DE5 FPGA를 사용하여 하드웨어 프로토타입을 제작한다.
  • 실행 시간, 처리량, 전력 소비, 에너지 소비, 성능 밀도 등의 정량적 지표를 사용하여 복합층과 완전 연결층에서 GPU 및 FPGA 구현 간 성능을 비교한다.
  • 에너지 효율성과 성능에 미치는 영향을 평가하기 위해 최신 CUDA 라이브러리(CuDNN 및 cuBLAS)를 평가한다.

실험 결과

연구 질문

  • RQ1딥 러닝 워크로드에서 GPU와 FPGA 하드웨어의 복잡성을 추상화하면서도 효율적인 작업 오프로딩을 가능하게 하기 위해 통합 프로그래밍 모델을 어떻게 설계할 수 있는가?
  • RQ2복합층과 완전 연결층에서 성능, 처리량, 전력 소비, 에너지 효율성, 성능 밀도 측면에서 GPU와 FPGA 가속기 간의 정량적 트레이드오프는 어떠한가?
  • RQ3실제 딥 러닝 응용 프로그램에서 하이브리드 GPU-FPGA 프레임워크가 독립형 가속기보다 유사하거나 우수한 성능과 에너지 효율성을 달성할 수 있는가?
  • RQ4다양한 CUDA 프로그래밍 모델(cuDNN 대비 cuBLAS)이 딥 러닝 추론 및 학습에서 에너지 효율성과 성능에 어떤 영향을 미치는가?
  • RQ5실제 하드웨어 평가를 통해 도출된 실용적 통찰은 향후 이종 딥 러닝 가속기 설계를 어떻게 안내할 수 있는가?

주요 결과

  • GPU는 동일한 딥 러닝 워크로드에서 FPGA 대비 최대 100배의 성능 향상과 100배 높은 처리량을 달성한다.
  • FPGA는 GPU 대비 50배 높은 전력 효율성을 보이며, 전력 제약 조건이 있는 환경에서 훨씬 더 에너지 효율적인 것으로 나타났다.
  • 복합층에서는 GPU와 FPGA가 유사한 에너지 효율성을 보였으며, FPGA는 10 GFLOPS/W, GPU는 14 GFLOPS/W를 기록하였다.
  • 완전 연결층에서는 GPU가 더 높은 운영 에너지 비율을 확보하여 뛰어난 성능 밀도를 보였다.
  • cuBLAS는 에너지 효율성에서 cuDNN을 능가하여 평가된 워크로드 전반에서 더 높은 성능 향상과 더 낮은 전력 소비를 제공하였다.
  • CNNLab 프레임워크는 워크로드 특성에 기반해 작업을 성공적으로 오프로딩하여 프로그래머의 부담을 증가시키지 않으면서 최적의 트레이드오프를 달성하였다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.