[HPCA'24] POM

An Optimizing Framework on MLIR for Efficient FPGA-based Accelerator Generation

Weichuang Zhang, et.al. on January 10, 2024
doi.org github
obsidian에서 수정하기

Abstract

제한된 리소스 및 전력 예산으로 컴퓨팅 성능에 대한 수요가 증가함에 따라 FPGA와 같은 맞춤형 가속기에 애플리케이션을 배포하는 것이 두드러지게 나타나고 있습니다. 그러나 FPGA 프로그래밍은 결코 간단하지 않습니다. 기존의 하이레벨 합성(HLS) 툴은 생산성을 어느 정도 향상시키기는 하지만, FPGA 중심의 변환과 최적화를 충분히 지원하기에는 범위와 기능이 제한적입니다. 이 백서에서는 FPGA 기반 가속기에 초점을 맞춰 다중 레벨 중간 표현(MLIR)에 기반한 엔드투엔드 최적화 프레임워크인 POM을 제안합니다.

POM에는 성능 최적화의 범위와 기능을 보여주는 몇 가지 특징이 있습니다.

  • 첫째, 대부분의 HLS 도구는 모든 최적화를 수행하기 위해 LLVM IR과 같은 단일 레벨 IR에만 의존하기 때문에 IR에 과도한 정보가 유입되고 디버깅이 까다로운 작업이 됩니다. 이에 비해 POM은 명시적으로 세 가지 IR 계층을 도입하여 적절한 추상화 수준에서 작업을 수행하므로 구현 및 디버깅 프로세스가 간소화되고 유연성, 확장성, 체계성이 향상됩니다.
  • 둘째, POM은 다면체 모델을 MLIR에 통합하여 고급 종속성 분석광범위한 FPGA 지향 루프 변환을 가능하게 합니다. 중첩된 루프를 적절한 IR에서 정수 집합과 맵으로 표현함으로써 다면체 의미론에 대한 일련의 조작을 통해 루프 변환을 편리하게 수행할 수 있습니다.
  • 마지막으로, 설계 수고를 더욱 덜어주기 위해 POM에는 계산을 간결하게 설명하고 풍부한 스케줄링 프리미티브 모음을 포함하는 사용자 친화적인 프로그래밍 인터페이스(DSL)가 장착되어 있습니다. 또한 고성능 최적화 체계를 효율적으로 검색하고 최적화된 가속기를 자동으로 생성하는 자동 설계 공간 탐색(DSE) 엔진이 제공됩니다.

실험 결과에 따르면 POM은 일반적인 벤치마크 제품군에서 평균 6.46배, 실제 애플리케이션에서 최첨단 대비 평균 6.06배의 속도 향상을 달성하는 것으로 나타났습니다.

Figure

figure 1 figure 1

figure 2 figure 2

figure 3 figure 3

figure 6 figure 6

figure 7 figure 7

figure 8 figure 8

figure 9 figure 9

figure 10 figure 10

figure 11 figure 11

figure 12 figure 12

figure 13 figure 13

figure 14 figure 14

figure 15 figure 15

Table

table I table I

table II table II

table III table III

table IV table IV

table VI table VI

table VII table VII