FPGA 가속기 설계를 위한 패턴 기반 설계 공간 탐색
요약
본 논문은 FPGA 가속기 설계를 위한 패턴 기반 설계 공간 탐색(PATTERNDSE) 프레임워크를 제안합니다. PATTERNDSE는 반복적인 계산 패턴을 간결한 스케줄 공간으로 매핑하여, 기존의 방대한 조합적 설계 공간을 효율적으로 줄입니다. 이를 통해 HLS로 평가되는 후보 수를 대폭 감소시키면서도 최적의 성능을 유지할 수 있음을 입증했습니다.
핵심 포인트
- PATTERNDSE는 반복 계산 패턴 기반의 경량 DSE 프레임워크이다.
- 복잡한 설계 공간을 간결한 스케줄 공간으로 매핑하여 탐색 효율성을 높인다.
- 전체 검색 후보 수를 최대 4.83배까지 줄여 개발 시간을 단축한다.
- 최적화된 성능(Vitis HLS 지연 시간)은 유지하면서 비생산적인 조합을 가지치기할 수 있다.
High-level synthesis (HLS)는 FPGA 가속기 설계를 하드웨어 기술 언어(HDL)에서 C/C++로 추상화 수준을 높였지만, 고품질 결과는 여전히 파이프라이닝(pipelining), 언롤링(unrolling), 타일링(tiling), 재정렬(reordering), 버퍼링(buffering)과 같은 스케줄 결정에 의존합니다. 이러한 결정들은 조합적 설계 공간을 생성하며, 많은 수치 커널은 다양한 최적화 전략을 시사하는 반복적인 계산 패턴을 나타냅니다. 본 논문에서는 Allo라는 스케줄 지향 HLS 프로그래밍 시스템으로 작성된 FPGA 커널을 위한 경량의 패턴 기반 설계 공간 탐색(DSE) 프레임워크인 PATTERNDSE를 제시합니다. PATTERNDSE는 요소별 맵(elementwise maps), 리덕션(reductions), 행렬-벡터 연산(matrix-vector operations), 행렬-행렬 연산(matrix-matrix operations), 그리고 스텐실형 업데이트(stencil-like updates)를 포함한 반복적인 계산 패턴을 간결한 스케줄 공간으로 매핑합니다. 그런 다음 후보 스케줄을 적용하고, LLVM 실행을 통해 기능적 정확성을 검증하며, HLS C 코드 생성을 확인하고, Vitis HLS 합성 전에 간단한 패턴 인식 추정기(pattern-aware estimator)를 사용하여 후보들을 순위화합니다. 우리는 PATTERNDSE를 vecadd, axpy, dot, matvec, gemm, jacobi2d의 6가지 대표 커널에 대해 평가했습니다. 포괄적 라이트(exhaustive-lite) 기준선과 비교했을 때, 패턴 기반 DSE는 HLS로 평가되는 후보 수를 140개에서 29개로 줄여 전체 검색을 4.83배 감소시키고 개별 커널의 경우 최대 12.0배까지 감소시킵니다. 모든 평가된 커널에 걸쳐, PATTERNDSE는 포괄적 라이트 기준선과 동일한 최적의 유효 Vitis HLS 지연 시간(latency)을 복구하여, 계산 패턴 정보가 고품질 HLS 결과성을 유지하면서 비생산적인 스케줄 조합을 가지치기할 수 있음을 입증합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.AR의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기