Skip to main content
QUICK REVIEW

[논문 리뷰] When HLS Meets FPGA HBM: Benchmarking and Bandwidth Optimization

Young Choi, Yuze Chi|arXiv (Cornell University)|2020. 10. 12.
Interconnection Networks and Systems참고 문헌 16인용 수 20
한 줄 요약

이 논문은 HBM를 탑재한 FPGA에서 고수준 합성(HLS) 도구가 다중 HBM 메모리 채널에 접근할 때 발생하는 제약을 해결함으로써, 효과적 대역폭을 향상시키기 위한 HLS 기반 최적화 기법을 제안한다. BICA(Burst-Interleaved Channel Access)와 BIPA(Burst-Interleaved PE Architecture)를 도입함으로써, 인텔 스트랫리스 10 MX 및 지닉스 얼보 유280 플랫폼에서 버킷 정렬 및 이진 탐색과 같은 메모리 기반 응용 프로그램에서 효과적 대역폭을 2.4배에서 3.8배 향상시켰다.

ABSTRACT

With the recent release of High Bandwidth Memory (HBM) based FPGA boards, developers can now exploit unprecedented external memory bandwidth. This allows more memory-bounded applications to benefit from FPGA acceleration. However, we found that it is not easy to fully utilize the available bandwidth when developing some applications with high-level synthesis (HLS) tools. This is due to the limitation of existing HLS tools when accessing HBM board's large number of independent external memory channels. In this paper, we measure the performance of three recent representative HBM FPGA boards (Intel's Stratix 10 MX and Xilinx's Alveo U50/U280 boards) with microbenchmarks and analyze the HLS overhead. Next, we propose HLS-based optimization techniques to improve the effective bandwidth when a PE accesses multiple HBM channels or multiple PEs access an HBM channel. Our experiment demonstrates that the effective bandwidth improves by 2.4X-3.8X. We also provide a list of insights for future improvement of the HBM FPGA HLS design flow.

연구 동기 및 목표

  • HBM의 다중 채널 아키텍처를 지원하는 HLS 툴체인의 비효율성으로 인해 발생하는 메모리 기반 FPGA 응용 프로그램의 성능 격차를 해소한다.
  • 최근 FPGA 보드(스트랫리스 10 MX, 얼보 U50, U280)에서 다중 HBM 채널에 접근할 때 발생하는 HLS 오버헤드를 규명하고 분석한다.
  • 단일 PE가 다수의 HBM 채널에 접근하거나, 다수의 PE가 단일 채널에 공유 액세스할 경우 효과적 대역폭을 향상시키기 위한 HLS 최적화 기법을 개발한다.
  • HLS 도구 제조사가 HBM 기반 FPGA 설계 플로우를 더 잘 지원하기 위한 실질적인 통찰을 제공한다.

제안 방법

  • 다양한 액세스 패턴 하에서 세 가지 HBM2 FPGA 플랫폼에서 기준 성능을 측정하기 위해 마이크로벤치마크를 설계하고 평가한다.
  • BICA(Burst-Interleaved Channel Access)를 도입하여, 가상 채널과 최적화된 FIFO 관리 기법을 활용해 단일 PE가 다수의 HBM PC에 효율적인 버스트 액세스를 가능하게 한다.
  • BIPA(Burst-Interleaved PE Architecture)를 제안하여 다수의 PE가 단일 HBM PC에 액세스할 수 있도록 하여, 할당 오버헤드를 감소시키고 대역폭 활용도를 향상시킨다.
  • 지닉스 및 인텔 HBM FPGA 플랫폼에서 C 기반 커널을 사용해 두 기법을 모두 구현하고 평가한다.
  • 자원 소모와 성능 간의 트레이드오프를 분석하기 위해, 다수의 PE에서 다수의 PC로의 매핑을 가능하게 하는 커스텀 크로스바 설계를 도입한다.
  • HLS에서 가상 채널 추상화를 도입하여 FIFO 제어 논리와 FPGA 자원 소비를 줄이고, 확장 가능한 메모리 액세스 패턴을 지원한다.

실험 결과

연구 질문

  • RQ1이론적으로 약 400 GB/s의 피크 대역폭을 제공하는 HBM2 FPGA 플랫폼이지만, 왜 기존 HLS 도구는 이를 완전히 활용하지 못하는가?
  • RQ2다수의 HBM 메모리 채널에 액세스할 때 높은 효과적 대역폭을 달성하는 데 있어 핵심적인 아키텍처적 및 HLS 특화 장애 요인은 무엇인가?
  • RQ3단일 처리 요소가 다수의 HBM 채널에 액세스할 경우 HLS 기반 설계를 어떻게 최적화하여 대역폭을 향상시킬 수 있는가?
  • RQ4HLS 생성 설계에서 다수의 처리 요소가 단일 HBM 채널에 액세스할 경우 성능 및 자원 소비 간의 트레이드오프는 어떠한가?
  • RQ5HLS 도구에서 HBM2 FPGA 메모리 아키텍처를 더 잘 지원하기 위해 필요한 설계 플로우 개선 사항은 무엇인가?

주요 결과

  • HBM2 FPGA에서 메모리 기반 응용 프로그램의 효과적 대역폭은 HLS 툴체인 오버헤드로 인해 크게 제한되며, 얼보 유280에서 버킷 정렬의 경우 관측된 대역폭이 최저 2.3 GB/s에 그친다.
  • BICA는 버스트 액세스를 다수의 HBM PC에 효율적으로 수행함으로써, 이진 탐색 및 깊이 우선 탐색과 같은 응용 프로그램에서 최대 3.8배의 효과적 대역폭 향상을 달성한다.
  • 얼보 유280에서 BIPA를 통해 16개의 PE가 단일 HBM PC에 액세스할 수 있도록 함으로써 최대 3.8배의 효과적 대역폭 향상을 달성하였으며, HLS 제약을 극복하였다.
  • 스트랫리스 10 MX에서 버킷 정렬의 효과적 대역폭은 BICA를 사용해 기준값 137 GB/s에서 370 GB/s로 향상되어 2.7배의 성능 향상을 달성하였다.
  • 본 연구에서는 현재 HLS 도구에서의 깊은 메모리 파ip라인화가 이진 탐색과 같은 지연 기반 응용 프로그램에서 성능을 저하시킨다는 점을 규명하였으며, 이는 저지연 메모리 파이프라인 옵션의 필요성을 시사한다.
  • 향후 HLS 도구 개선을 위한 통찰으로는 사용자 정의 가능한 크로스바 템플릿, FIFO 공유를 위한 가상 채널 지원, 저지연 메모리 파이프라인 옵션 등이 있다. 이는 사용성과 성능 향상에 기여할 수 있다.

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

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

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

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