[논문 리뷰] TAPA: A Scalable Task-Parallel Dataflow Programming Framework for Modern FPGAs with Co-Optimization of HLS and Physical Design
TAPA는 현대형 FPGA를 위한 작업 병렬 데이터플로우 프로그래밍 프레임워크로, 고수준 합성(HLS)과 물리적 설계를 조율하여 거시적 플로어플래닝을 통해 최적화함으로써 주파수 향상을 크게 이끌어내는 기술이다. 43개의 설계에서 평균 주파수를 147 MHz에서 297 MHz로 끌어올려 102% 향상되었으며, 면적 오 overhead 는 극히 적고, 이전에 루팅이 불가능했던 16개의 설계에 대해 시간적 폐쇄를 복원하였다.
In this paper, we propose TAPA, an end-to-end framework that compiles a C++ task-parallel dataflow program into a high-frequency FPGA accelerator. Compared to existing solutions, TAPA has two major advantages. First, TAPA provides a set of convenient APIs that allow users to easily express flexible and complex inter-task communication structures. Second, TAPA adopts a coarse-grained floorplanning step during HLS compilation for accurate pipelining of potential critical paths. In addition, TAPA implements several optimization techniques specifically tailored for modern HBM-based FPGAs. In our experiments with a total of 43 designs, we improve the average frequency from 147 MHz to 297 MHz (a 102% improvement) with no loss of throughput and a negligible change in resource utilization. Notably, in 16 experiments we make the originally unroutable designs achieve 274 MHz on average. The framework is available at https://github.com/UCLA-VAST/tapa and the core floorplan module is available at https://github.com/UCLA-VAST/AutoBridge.
연구 동기 및 목표
- 다이스 다수를 가진 현대형 이질적 FPGA와 HBM를 탑재한 아키텍처에서 증가하는 타이밍 클로처 문제를 해결한다.
- HLS와 물리적 설계 간의 괴리를 해소하기 위해 플로어플래닝을 HLS 컴파일 플로우에 통합한다.
- HBM를 탑재한 FPGA에서 스케일러블하고 고주파수의 작업 병렬 데이터플로우 프로그램을 HLS와 물리적 설계의 공동 최적화를 통해 실현한다.
- C++를 사용해 복잡한 태스크 간 통신 패턴을 표현할 수 있는 실용적이고 사용자 友好的한 API를 제공한다.
- 이전에 비정상적인 경로 지연으로 인해 루팅이 불가능했던 설계에 대해 타이밍 클로처를 복원한다.
제안 방법
- HLS 컴파일 중에 거시적 플로어플래닝 단계를 도입하여, 다이스 간 및 장거리 인터코ネ크를 가로질러 중요한 경로의 정확한 파ipel라인화를 유도한다.
- 플로어플래닝 정보를 활용해 HLS와 물리적 설계를 공동 최적화함으로써, 특히 다이스 경계를 가로지르는 장거리 및 시간이 중요한 경로에 레지스터를 삽입한다.
- 자동 HBM 포트 바인딩과 맞춤형 프로그래밍 API를 구현하여 HBM I/O 모듈의 면적 오버헤드를 최소화한다.
- 플로어플랜 솔루션 공간을 탐색하여 태스크 배치와 인터코너넥트 루팅을 공동 최적화해 성능을 향상시킨다.
- 재수렴 경로 간의 균형 잡힌 지연 전략을 사용하여 처리량을 유지하면서 주파수를 향상시킨다.
- 상용 FPGA 툴체인과 통합하여 호환성과 실용적 구현을 보장한다.
실험 결과
연구 질문
- RQ1현대형 다이스 다수 아키텍처를 가진 FPGA에서 HLS와 물리적 설계를 어떻게 공동 최적화하여 타이밍 클로저를 향상시킬 수 있는가?
- RQ2HLS 컴파일 중 거시적 플로어플래닝이 주파수와 루팅 가능성에 어떤 영향을 미치는가?
- RQ3공동 최적화 기법이 FPGA의 HBM 및 이질적 자원으로 인해 발생하는 타이밍 문제를 효과적으로 해결할 수 있는가?
- RQ4TAPA는 이전에 루팅이 불가능했던 설계에 대해 어느 정도 타이밍 클로저를 복원할 수 있는가?
- RQ5플로어플래닝을 HLS에 통합하면 작업 병렬 데이터플로우 프로그램의 성능과 자원 활용도에 어떤 영향을 미치는가?
주요 결과
- TAPA는 43개의 설계에서 평균 주파수를 147 MHz에서 297 MHz로 102% 향상시켰으며, 처리량에 변화가 없었다.
- 16개의 실험에서 TAPA는 이전에 루팅이 불가능했던 설계에 대해 성공적으로 타이밍 클로저를 달성했으며, 평균 주파수는 274 MHz였다.
- 자원 활용도에 극히 미미한 변화를 유지하면서도 성능 향상이著しく 이루어졌다.
- HLS와 물리적 설계의 공동 최적화를 통해 장거리 다이스 간 인터코ネ크의 효과적 파이프라인화가 가능해졌으며, 이는 현대형 FPGA에서 주요 타이밍 병목 현상이다.
- TAPA의 플로어플래닝 및 HBM 인식 최적화 기법은 HBM I/O 모듈의 면적 오버헤드를 감소시키고 루팅 효율성을 향상시켰다.
- 이 프레임워크는 여러 실제 프로젝트에 성공적으로 적용되어 고성능 FPGA 가속화에서의 실용성과 효과성을 입증했다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.