Skip to main content
QUICK REVIEW

[논문 리뷰] High Level Synthesis with a Dataflow Architectural Template

Shaoyi Cheng, John Wawrzynek|arXiv (Cornell University)|2016. 06. 21.
Embedded Systems Design Techniques참고 문헌 5인용 수 6
한 줄 요약

이 논문은 하이레벨 합성(HLS) 프레임워크를 제안하며, 하드웨어 생성 이전에 고수준 C/C++ 코드를 데이터플로우 아키텍처 템플릿으로 매핑함으로써 효율적인 파ip라인화와 메모리 액세스 및 계산의 오버랩을 가능하게 한다. 최신의 HLS 도구를 사용하여, 이는 고유한 데이터플로우 병렬성의 특성을 활용함으로써 기존의 HLS 대비 FPGA 플랫폼에서 최대 9배의 성능 향상을 달성한다.

ABSTRACT

In this work, we present a new approach to high level synthesis (HLS), where high level functions are first mapped to an architectural template, before hardware synthesis is performed. As FPGA platforms are especially suitable for implementing streaming processing pipelines, we perform transformations on conventional high level programs where they are turned into multi-stage dataflow engines [1]. This target template naturally overlaps slow memory data accesses with computations and therefore has much better tolerance towards memory subsystem latency. Using a state-of-the-art HLS tool for the actual circuit generation, we observe up to 9x improvement in overall performance when the dataflow architectural template is used as an intermediate compilation target.

연구 동기 및 목표

  • 메모리 지연 병목 현상을 줄임으로써 FPGA 플랫폼에서 하이레벨 합성(HLS)의 성능을 향상시키기 위해.
  • 나쁜 메모리 액세스 스케줄링으로 인해 메모리 집약적인 워크로드를 처리하는 데에 비효율적인 기존의 HLS의 문제를 해결하기 위해.
  • 더 나은 파이프라인화와 자원 활용을 가능하게 하기 위해 데이터플로우 아키텍처 템플릿을 중간 컴파일 타겟으로 사용해 볼 수 있는지를 탐색하기 위해.
  • 고수준 프로그램을 다중 스테이지 데이터플로우 엔진으로 변환하는 것이 FPGA에서의 스루풋을 크게 향상시킬 수 있는지 평가하기 위해.
  • 저수준 하드웨어 설계가 필요 없이 아키텍처 템플릿화가 성능 향상을 이끌어낼 수 있는지 보여주기 위해.

제안 방법

  • 기존의 하이레벨 C/C++ 프로그램을 자연스럽게 파이프라인 실행을 지원하는 다중 스테이지 데이터플로우 엔진으로 변환하기 위해.
  • 자원 할당과 스케줄링를 안내하기 위해 고수준 함수를 사전 정의된 데이터플로우 아키텍처 템플릿에 매핑하기 위해.
  • 데이터플로우 템플릿을 사용하여 느린 메모리 액세스를 계산과 오버랩함으로써 파이프라인 내의 유휴 사이클을 줄이기 위해.
  • 최종 RTL 생성을 위해 템플릿 적용된 설계에 표준 HLS 도구를 적용하여 성능 향상을 유지하기 위해.
  • 데이터플로우 최적화된 중간 표현으로부터 최종 하드웨어를 합성하기 위해 최신의 HLS 툴체인을 활용하기 위해.
  • 기본 HLS 플로우 대비 성능 향상을 측정하기 위해 FPGA 플랫폼에서 접근 방식을 검증하기 위해.

실험 결과

연구 질문

  • RQ1데이터플로우 아키텍처 템플릿은 FPGA 기반 가속기용 하이레벨 합성에서 성능 향상에 기여할 수 있는가?
  • RQ2고수준 코드를 데이터플로우 파이프라인으로 재구성함으로써 메모리 지연을 얼마나 효과적으로 숨길 수 있는가?
  • RQ3통상적인 HLS 대비 제안된 템플릿의 스루풋과 자원 사용 측면에서의 성능 비교는 어떠한가?
  • RQ4이 아키텍처 템플릿화 접근 방식을 통해 달성 가능한 최대 성능 향상은 어느 정도인가?
  • RQ5이 방법은 수동으로 저수준 최적화가 필요 없이 다양한 워크로드에 대해 확장 가능한가?

주요 결과

  • 제안된 데이터플로우 아키텍처 템플릿은 기존의 HLS 플로우 대비 최대 9배의 성능 향상을 가능하게 한다.
  • 이 방법은 메모리 액세스 지연을 계산과 효과적으로 오버랩하여 파이프라인 내 유휴 시간을 크게 줄인다.
  • 기본적인 HLS 툴체인을 수정하지 않고도 중간 표현 변환에 의존함으로써 성능 향상을 달성한다.
  • 이 접근 방식은 FPGA 가속기에서 흔히 볼 수 있는 스트리밍 및 데이터 병렬 워크로드에 효과적이다.
  • 데이터플로우 템플릿은 이식성 있고 재사용 가능한 추상화로써 HLS에서 생산성과 성능 향상에 기여한다.
  • 결과적으로 아키텍처 템플릿화가 성능 중심의 HLS 컴파일에 실현 가능하고 효과적인 전략임을 입증한다.

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

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

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

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