[논문 리뷰] Towards a Multi-array Architecture for Accelerating Large-scale Matrix Multiplication on FPGAs
이 논문은 처리 요소(PE) 및 PE 어레이의 동적 구성 기능을 추가하여 선형 시스톨릭 어레이의 확장성을 높임으로써 FPGAs에서 대규모 행렬 곱셈을 가속화하기 위한 확장 가능하고 고도로 구성 가능한 다중 어레이 아키텍처를 제안한다. 작업 도우미 기반의 로드 밸런싱 기법과 최적의 설계 파rameter를 결정하기 위한 분석 모델을 도입하여, 자료 자원 활용도를 최소화하면서도 AlexNet 레이어에서 최대 100.9 GFLOPS(이론적 피크 성능의 98.6%)의 성능을 달성한다.
Large-scale floating-point matrix multiplication is a fundamental kernel in many scientific and engineering applications. Most existing work only focus on accelerating matrix multiplication on FPGA by adopting a linear systolic array. This paper towards the extension of this architecture by proposing a scalable and highly configurable multi-array architecture. In addition, we propose a work-stealing scheme to ensure the equality in the workload partition among multiple linear arrays. Furthermore, an analytical model is developed to determine the optimal design parameters. Experiments on a real-life convolutional neural network (CNN) show that we can obtain the optimal extension of the linear array architecture.
연구 동기 및 목표
- 기존의 선형 시스톨릭 어레이 아키텍처가 FPGAs에서 대규모 행렬 곱셈을 확장하는 데에 한계를 보이고 있는 문제를 해결하기 위해.
- 다양한 문제 크기에 대응하기 위해 처리 요소(PE) 수와 병렬 PE 어레이의 동적 구성 기능을 제공하기 위해.
- 작업 도우미 기반의 방식을 통해 다수의 PE 어레이 간의 워크로드 밸런싱을 보장하기 위해.
- 성능과 메모리 효율성을 고려해 최적의 설계 파rameter(블록 크기 $S_i$ 및 어레이 수 $N_p$)를 결정하기 위한 분석 모델을 개발하기 위해.
- 실세계 딥러닝 워크로드(예: AlexNet)에서 아키텍처의 성능을 검증하기 위해.
제안 방법
- 제안된 아키텍처는 구성 가능한 멀티플렉서를 통해 연결된 다중 선형 PE 어레이로 구성되며, 독립적 또는 협업 작동 모드를 지원한다.
- 작업 도우미 기반의 기법은 워크로드 불균형이 발생할 경우 작업을 재분배하여 PE 어레이 간의 워크로드를 동적으로 밸런싱한다.
- 행렬 처리 엔진(MPE)은 각 PE에 대해 완전한 파ип라인 처리가 가능한 단일 정밀도 부동소수점 곱셈-누적 연산장치를 탑재하고 있으며, 이중 입력 레지스터와 3개의 FIFO를 통해 데이터 흐름을 제어한다.
- 분석 모델은 메모리 대역폭과 데이터 트래픽을 추정하여 블록 크기 $S_i$ 및 어레이 수 $N_p$의 최적 설정을 안내한다.
- 모델은 식 9를 사용하여 설계 공간을 단순화하며, 총 PE 수($P_m \times P$)를 고정하고 총 실행 시간 $T_{‘total}$의 범위를 최소화한다.
- 시스템은 Vivado 2016.4를 사용하여 합성 및 타이밍 분석을 수행하고, Xilinx VC709 FPGA와 DDR3 메모리에 구현되었다.
실험 결과
연구 질문
- RQ1어떻게 선형 시스톨릭 어레이 아키텍처를 효과적으로 확장하여 FPGAs에서 대규모 행렬 곱셈을 수행할 수 있는가?
- RQ2성능과 메모리 효율성을 극대화하기 위해 어떤 설계 파rameter(블록 크기 $S_i$, PE 어레이 수 $N_p$)를 선택해야 하는가?
- RQ3계산 중에 다수의 PE 어레이 간의 워크로드 불균형을 어떻게 완화할 수 있는가?
- RQ4분석 모델은 실제 실행 시간을 얼마나 정확하게 예측할 수 있으며, 최적의 구성 설정을 안내하는 데 얼마나 효과적인가?
- RQ5실세계 워크로드에서 다중 어레이 아키텍처가 단일 어레이 또는 완전히 확장된 어레이 설계보다 우수한 성능을 보일 수 있는가?
주요 결과
- AlexNet의 완전 연결 레이어(fc-6)에 대해 최적의 구성에서 100.9 GFLOPS의 성능을 달성하여 이론적 피크 성능의 98.6%에 도달했다.
- ($N_p=1, S_i=32$)의 경우 총 PE 수가 낮음에도 불구하고 효과적인 메모리 대역폭이 높아(1.6 GB/s 대비 1.4 GB/s) ($N_p=2, S_i=16$)보다 뛰어난 성능을 보였다.
- 모든 AlexNet 레이어에서 최적의 $<N_p, S_i>$ 조합을 사용한 본 논문의 아키텍처가 단일 어레이($N_p=1$) 및 완전히 확장된 어레이($N_p=4$) 구성보다 뛰어난 성능을 보였다.
- 메모리 대역폭이 충분할 경우 분석 모델이 예측한 하한선이 실제 실행 시간과 매우 유사했지만, 메모리 제약 조건에 빠지면 예측과 실제 간의 괴리가 발생했다.
- 자원 활용도는 50% 이하로 유지되었으며(예: LUT 44.44%), 200 MHz의 높은 클럭 주파수를 확보하여 효율적인 성능 확장이 가능했다.
- 작업 도우미 기반의 기법은 PE 어레이 간의 워크로드를 효과적으로 밸런싱하여 유휴 사이클을 방지하고 전체 활용도를 향상시켰다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.