Skip to main content
QUICK REVIEW

[논문 리뷰] Resource-Aware Just-in-Time OpenCL Compiler for Coarse-Grained FPGA Overlays

Abhishek Kumar Jain, Douglas L. Maskell|arXiv (Cornell University)|2017. 05. 08.
Parallel Computing and Optimization Techniques참고 문헌 17인용 수 3
한 줄 요약

이 논문은 주어진 자원을 고려한 Just-in-Time (JIT) OpenCL 컴파일러를 제안하며, 이는 DSP 기반의 코arse-grained FPGA 오버레이를 대상으로 하여 기존의 전통적인 FPGA place-and-route 과정을 생략함으로써 1초 이내의 컴파일 시간을 가능하게 한다. 이 방법은 고성능 워크스테이션에서 Vivado 대비 PAR 시간을 1,250× 빠르게 하고, Zynq ARM 프로세서에서 실행할 경우 300× 빠르게 하며, 런타임에 50 μs 이내로 커널 복제 및 설정을 지원한다.

ABSTRACT

FPGA vendors have recently started focusing on OpenCL for FPGAs because of its ability to leverage the parallelism inherent to heterogeneous computing platforms. OpenCL allows programs running on a host computer to launch accelerator kernels which can be compiled at run-time for a specific architecture, thus enabling portability. However, the prohibitive compilation times (specifically the FPGA place and route times) are a major stumbling block when using OpenCL tools from FPGA vendors. The long compilation times mean that the tools cannot effectively use just-in-time (JIT) compilation or runtime performance scaling. Coarse-grained overlays represent a possible solution by virtue of their coarse granularity and fast compilation. In this paper, we present a methodology for run-time compilation of OpenCL kernels to a DSP block based coarse-grained overlay, rather than directly to the fine-grained FPGA fabric. The proposed methodology allows JIT compilation and on-demand resource-aware kernel replication to better utilize available overlay resources, raising the abstraction level while reducing compile times significantly. We further demonstrate that this approach can even be used for run-time compilation of OpenCL kernels on the ARM processor of the embedded heterogeneous Zynq device.

연구 동기 및 목표

  • FPGA OpenCL 도구의 금방이 긴 컴파일 시간 문제를 해결하여 JIT 컴파일링과 런타임 성능 스케일링을 가능하게 하기 위해.
  • 세밀한 그레인의 FPGA 패브릭의 한계를 극복하기 위해 코arse-grained 오버레이 아키텍처를 사용하여 place-and-route를 가속화하기 위해.
  • 런타임에 자원 기반의 커널 복제를 실시간으로 지원하여 하드웨어 활용도와 성능을 향상시키기 위해.
  • 포트폴리오 가능하고 동적 가속을 지원하기 위해 임베디드 프로세서(예: Zynq ARM)에서 종단 간 JIT 컴파일링을 구현하기 위해.
  • 오버레이 기반 FPGA 컴파일링에서 컴파일 속도와 자원 오버헤드 간의 상호 상충 관계를 정량화하기 위해.

제안 방법

  • OpenCL 커널을 DSP 블록 기반의 코arse-grained 오버레이로 컴파일하기 위해 LLVM 프론트엔드를 기반으로 한 맞춤형 자동 매핑 플로우를 설계하기 위해.
  • 저수준 FPGA 세부 사항을 추상화하여 컴파일 복잡도를 감소시키는, 제조사에 종속되지 않는 컴파일링 파이프라인을 구현하기 위해.
  • 오버레이 아키텍처에 맞게 수정된 place-and-route (PAR) 도구 플로우를 사용하여 컴파일 시간을 극적으로 단축시키기 위해.
  • Zynq의 ARM 프로세서에 OpenCL 런타임 인fra구조(pocl)를 구현하여 임베디드 시스템에서 JIT 컴파일링과 커널 실행을 가능하게 하기 위해.
  • 가용한 오버레이 자원 기반으로 동적 커널 복제를 지원하여 런타임 성능 스케일링을 실현하기 위해.
  • 오버레이 및 네이티브 FPGA 구현 간의 PAR 시간, 주파수, 자원 활용도(DSPs, 로직 슬라이스), 구성 시간을 측정하고 비교하기 위해.

실험 결과

연구 질문

  • RQ1기존의 전통적인 FPGA place-and-route 대비 코arse-grained FPGA 오버레이가 OpenCL 커널 컴파일 시간을 상당히 감소시킬 수 있는가?
  • RQ2오버레이 기반 접근법을 사용할 경우, Zynq와 같은 임베디드 FPGA 플랫폼에서 JIT 컴파일링을 어느 정도 구현할 수 있는가?
  • RQ3직접 FPGA 구현 대비 코arse-grained 오버레이 사용 시 성능 및 자원 오버헤드는 어떠한가?
  • RQ4이 오버레이 방법론을 사용할 경우, JIT 환경에서 요구 조건에 맞는 자원 기반의 커널 복제를 효과적으로 지원할 수 있는가?
  • RQ5오버레이의 구성 시간은 전체 FPGA 패브릭 대비 어떻게 비교되는가?

주요 결과

  • 고성능 워크스테이션에서 오버레이 기반 place-and-route 프로세스는 Vivado의 네이티브 FPGA 플로우 대비 약 1,250× 빠르게 동작한다.
  • Zynq의 ARM 프로세서에서 실행할 경우, 오버레이 PAR 프로세스는 여전히 네이티브 FPGA 플로우 대비 300× 이상 빠르게 동작한다.
  • 직접 FPGA 구현 대비 오버레이 사용 시 DSP 블록 사용량은 3.4× 증가하고, 로직 슬라이스 활용도는 32× 증가한다.
  • 간소화된 루팅 및 예측 가능한 배치로 인해 오버레이에서 최대 주파수는 1.6× 향상된다.
  • 구성 시간은 FPGA의 31.6 ms 에서 오버레이의 8×8 버전에서 42.4 μs로 750× 감소하였다.
  • 시스템은 Zynq의 ARM 프로세서만을 사용하여 JIT 컴파일링과 런타임 커널 복제를 성공적으로 지원하여 임베디드 플랫폼에서의 실현 가능성을 입증하였다.

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

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

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

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