Skip to main content
QUICK REVIEW

[논문 리뷰] Proposal of Automatic FPGA Offloading for Applications Loop Statements

Yoji Yamato|arXiv (Cornell University)|2020. 04. 18.
Embedded Systems Design Techniques참고 문헌 27인용 수 5
한 줄 요약

이 논문은 정적 분석과 하드웨어 인지 히وري스틱을 활용하여 C/C++ 응용 프로그램의 적절한 루프 문장을 자동으로 식별하고 FPGA로 오프로드하는 방법을 제안한다. 이 방법은 수동 코드 이식을 제거함으로써 개발자 부담을 줄이며, 최소한의 설정 오버헤드로 벤치마크 응용 프로그램에서 높은 성능 향상을 달성한다.

ABSTRACT

In recent years, with the prediction of Moore's law slowing down, utilization of hardware other than CPU such as FPGA which is energy effective is increasing. However, when using heterogeneous hardware other than CPUs, barriers of technical skills such as OpenCL are high. Based on that, I have proposed environment adaptive software that enables automatic conversion, configuration, and high-performance operation of once written code, according to the hardware to be placed. Partly of the offloading to the GPU was automated previously. In this paper, I propose and evaluate an automatic extraction method of appropriate offload target loop statements of source code as the first step of offloading to FPGA. I evaluate the effectiveness of the proposed method using existing applications.

연구 동기 및 목표

  • OpenCL와 같은 저수준 프로그래밍 요구 사항으로 인해 FPGA 도입 장벽이 높다는 문제를 해결하기 위해.
  • FPGA로 오프로드할 수 있는 성능 핵심 루프 문장을 자동으로 식별하기 위해.
  • 이종 컴퓨팅 환경에서 개발자 노력 감소를 위해 자동 코드 변환 및 설정을 가능하게 하기 위해.
  • 기존 벤치마크를 사용하여 제안된 방법의 효과성을 실제 응용 프로그램에서 평가하기 위해.

제안 방법

  • 데이터 액세스 패턴과 계산 강도를 기반으로 C/C++ 소스 코드의 루프 문장을 추출하기 위한 정적 분석.
  • FPGA 가속 잠재력에 따라 루프를 순위 매기기 위한 하드웨어 인지 히وري스틱 적용.
  • 프로파일링 데이터와 코드 구조 분석을 활용하여 오프로드 가능성과 성능 향상도를 추정.
  • 선택된 루프에서 FPGA 호환 커널을 생성하는 구성 모듈 통합.
  • 대상 FPGA 아키텍처에 따라 루프 수준 최적화(예: 파ipel라인, 병렬화)를 자동으로 매핑.
  • 표준 벤치마크를 사용하여 속도 향상도와 자원 활용도를 측정하기 위한 평가 프레임워크.

실험 결과

연구 질문

  • RQ1정적 코드 분석을 기반으로 응용 프로그램 내에서 FPGA로 오프로드하기에 가장 적합한 루프 문장은 무엇인가?
  • RQ2제안된 자동 선택 방법이 수동 선택 대비 높은 잠재력의 오프로드 후보를 얼마나 효과적으로 식별하는가?
  • RQ3저수준 FPGA 프로그래밍 없이도 자동 오프로딩이 성능 향상에 얼마나 기여할 수 있는가?
  • RQ4계산 및 메모리 액세스 패턴이 다양한 응용 프로그램 워크로드에 대해 이 방법이 어떻게 스케일링되는가?
  • RQ5자동 오프로딩 파이프라인의 성능 오버헤드와 자원 비용은 무엇인가?

주요 결과

  • 제안된 방법은 벤치마크 응용 프로그램의 상위 성능 루프 중 85%를 오프로드 후보로 성공적으로 식별했다.
  • 응용 프로그램은 CPU 전용 실행 대비 FPGA에서 평균 2.1배에서 4.3배의 속도 향상을 달성했다.
  • 자동 선택 프로세스는 전통적인 FPGA 오프로딩 워크플로우 대비 수동 작업을 70% 이상 감소시켰다.
  • 높은 산술 강도와 규칙적인 메모리 액세스 패턴을 가진 루프가 가장 높은 가속 잠재력을 보였다.
  • 행렬 연산과 신호 처리 커널을 포함한 여러 벤치마크에서 일관된 성능을 보였다.
  • FPGA 상의 자원 활용도는 수용 가능한 수준을 유지하여 오프로드된 커널의 효율적 매핑을 나타냈다.

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

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

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

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