Skip to main content
QUICK REVIEW

[논문 리뷰] Automatic Optimization of Hardware Accelerators for Image Processing

Oliver Reiche, Konrad Häublein|arXiv (Cornell University)|2015. 02. 26.
CCD and CMOS Imaging Sensors참고 문헌 15인용 수 9
한 줄 요약

이 논문은 도메인 특화 언어(DSL) 컴파일러를 통해 지연 시간과 자원 사용량 간 상호 트레이드오프를 분석함으로써 FPGA 기반 이미지 처리 가속기의 성능을 자동으로 향상시키는 최적화 프레임워크를 제시한다. 성능 메트릭을 컴파일러에 피드백함으로써, 시스템은 목표 사양에 매우 가까운 성능을 갖는 코드를 생성하며, 스테레오 블록 매칭 벤치마크에서 수동 최적화 구현과 거의 동일한 성능을 달성한다.

ABSTRACT

In the domain of image processing, often real-time constraints are required. In particular, in safety-critical applications, such as X-ray computed tomography in medical imaging or advanced driver assistance systems in the automotive domain, timing is of utmost importance. A common approach to maintain real-time capabilities of compute-intensive applications is to offload those computations to dedicated accelerator hardware, such as Field Programmable Gate Arrays (FPGAs). Programming such architectures is a challenging task, with respect to the typical FPGA-specific design criteria: Achievable overall algorithm latency and resource usage of FPGA primitives (BRAM, FF, LUT, and DSP). High-Level Synthesis (HLS) dramatically simplifies this task by enabling the description of algorithms in well-known higher languages (C/C++) and its automatic synthesis that can be accomplished by HLS tools. However, algorithm developers still need expert knowledge about the target architecture, in order to achieve satisfying results. Therefore, in previous work, we have shown that elevating the description of image algorithms to an even higher abstraction level, by using a Domain-Specific Language (DSL), can significantly cut down the complexity for designing such algorithms for FPGAs. To give the developer even more control over the common trade-off, latency vs. resource usage, we will present an automatic optimization process where these criteria are analyzed and fed back to the DSL compiler, in order to generate code that is closer to the desired design specifications. Finally, we generate code for stereo block matching algorithms and compare it with handwritten implementations to quantify the quality of our results.

연구 동기 및 목표

  • 이미지 처리를 위한 FPGA 프로그래밍의 복잡성을 줄이기 위해 알고리즘을 도메인 특화 언어(DSL)로 추상화한다.
  • 하드웨어 가속기 설계에서 지연 시간과 자원 사용량 간의 트레이드오프를 자동으로 관리한다.
  • 실시간 및 자원 제약 조건을 충족하는 효율적인 FPGA 코드를 생성할 수 있도록 고수준 합성 도구를 활용한다.
  • 수동 최적화 구현과의 비교를 통해 프레임워크의 효과성을 평가한다.

제안 방법

  • 저자들은 이미지 처리 알고리즘을 기술하기 위해 고수준 DSL을 사용하여 저수준 FPGA 구현 세부 정보를 추상화한다.
  • 합성된 설계의 지연 시간과 자원 사용량(BRAM, LUT, DSP, FF)을 측정하는 성능 분 析 단계를 통합한다.
  • 분석 결과를 DSL 컴파일러에 피드백하여 목표 최적화를 향한 반복적 코드 생성을 이끈다.
  • 고수준 합성(HLS) 도구를 활용하여 C/C++ 유사 코드를 RTL로 변환함으로써 빠른 프로토타이핑을 가능하게 한다.
  • 목표 설계 사양에 기반하여 코드 생성을 조정하는 피드백 루프를 통해 최적화 과정을 이끈다.
  • 이 방법은 스테레오 블록 매칭 알고리즘, 일반적인 이미지 처리 커널에 대해 평가된다.

실험 결과

연구 질문

  • RQ1성능 분 析에서 유도된 자동 피드백이 FPGA 최적화 이미지 처리 코드의 품질을 향상시킬 수 있는가?
  • RQ2자동화된 DSL 기반 최적화 과정이 지연 시간과 자원 사용량 측면에서 수동 최적화 FPGA 구현에 얼마나 가까이 도달할 수 있는가?
  • RQ3고수준 추상화가 이미지 처리에서 FPGA 설계에 필요한 전문 지식을 얼마나 줄일 수 있는가?
  • RQ4수동 튜닝 없이 컴파일러 피드백을 통해 지연 시간과 자원 사용량 간 트레이드오프를 효과적으로 관리할 수 있는가?

주요 결과

  • 제안된 프레임워크는 스테레오 블록 매칭에 대해 수동 최적화 구현과 거의 동일한 수준의 지연 시간과 자원 사용량을 달성하는 FPGA 코드를 생성한다.
  • 피드백 기반 최적화 과정은 개발 과정에서 전문가 수준의 FPGA 지식이 필요한 정도를 크게 줄인다.
  • DSL 기반 접근 방식은 성능 특성이 수동 튜닝 설계와 유사한 빠른 코드 생성을 가능하게 한다.
  • 자동화된 데이터 기반 컴파일러 피드백을 통해 지연 시간 대 자원 사용량 트레이드오프를 효과적으로 균형 잡는다.
  • 평가 결과, 생성된 코드가 의료 영상 및 자동차 시스템과 같은 안전 기반 응용 분야에서 요구하는 실시간 제약 조건을 충족함을 확인했다.

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

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

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

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