[논문 리뷰] Code Generation for High-Level Synthesis of Multiresolution Applications on FPGAs
이 논문은 FPGAs 및 임베디드 GPU용 고성능, 다중 해상도 영상 처리 응용 프로그램을 자동으로 합성하는 데 기반한 코드 생성 프레임워크를 제시한다. 도메인 특화 언어(DSL)와 자동 고수준 합성 기술을 활용함으로써, 저수준 하드웨어 전문 지식 없이도 다중 해상도 알고리즘(예: 가우시안 및 라플라시안 피라미드를 사용하는 알고리즘)을 효율적으로 구현할 수 있으며, 이는 이질적 가속기 아키텍처 전반에서 최적화된 성능을 달성한다.
Multiresolution Analysis (MRA) is a mathematical method that is based on working on a problem at different scales. One of its applications is medical imaging where processing at multiple scales, based on the concept of Gaussian and Laplacian image pyramids, is a well-known technique. It is often applied to reduce noise while preserving image detail on different levels of granularity without modifying the filter kernel. In scientific computing, multigrid methods are a popular choice, as they are asymptotically optimal solvers for elliptic Partial Differential Equations (PDEs). As such algorithms have a very high computational complexity that would overwhelm CPUs in the presence of real-time constraints, application-specific processors come into consideration for implementation. Despite of huge advancements in leveraging productivity in the respective fields, designers are still required to have detailed knowledge about coding techniques and the targeted architecture to achieve efficient solutions. Recently, the HIPAcc framework was proposed as a means for automatic code generation of image processing algorithms, based on a Domain-Specific Language (DSL). From the same code base, it is possible to generate code for efficient implementations on several accelerator technologies including different types of Graphics Processing Units (GPUs) as well as reconfigurable logic (FPGAs). In this work, we demonstrate the ability of HIPAcc to generate code for the implementation of multiresolution applications on FPGAs and embedded GPUs.
연구 동기 및 목표
- 복잡한 다중 해상도 알고리즘을 FPGAs에 수동으로 구현하는 데 있어 알고리즘과 저수준 하드웨어 설계에 대한 깊은 전문 지식이 요구되는 문제를 해결하기 위해.
- 고수준 사양에서 자동 코드 생성을 통해 하드웨어 가속화의 생산성 격차를 줄이기 위해.
- HIPAcc 프레임워크를 확장하여 FPGAs용 고수준 합성(HLS)을 지원함으로써 다양한 가속기 플랫폼 간 이식 가능하고 효율적인 구현을 가능하게 하기 위해.
- 이미지 피라미드 및 다중 격자 방법을 기반으로 한 다중 해상도 응용 프로그램이 자동 코드 생성을 통해 FPGAs에 효율적으로 매핑될 수 있음을 보여주기 위해.
제안 방법
- 다중 해상도 영상 처리 알고리즘을 고수준이고 이식 가능한 형태로 표현하기 위해 HIPAcc 도메인 특화 언어(DSL)가 사용된다.
- 프레임워크는 DSL 사양에서 자동으로 최적화된 C++/OpenCL 코드를 생성하며, 이는 FPGAs 및 GPUs를 대상으로 한다.
- 고수준 합성(HLS) 도구를 적용하여 생성된 C++ 코드를 FPGAs 구현을 위한 하드웨어 기술 서술어(예: Verilog/VHDL)로 변환한다.
- 피라미드 분해 및 재귀적 필터링과 같은 다중 해상도 처리에서 흔히 사용되는 알고리즘 패턴을 지원한다.
- 자동 파ip라이닝 및 자원 공유를 통해 데이터 플로우 및 병렬성의 최적화를 보장하는 코드 생성 파이프라인을 구현한다.
- 동일한 알고리즘 사양이 최소한의 변경으로 다양한 가속기 플랫폼을 대상으로 하여 크로스 플랫폼 배포가 가능하다.
실험 결과
연구 질문
- RQ1고수준 도메인 특화 언어를 사용하여 FPGAs용 다중 해상도 영상 처리 알고리즘을 자동으로 생성할 수 있는가?
- RQ2수동 설계 대비 HIPAcc 프레임워크가 다중 해상도 응용 프로그램의 고성능 FPGA 구현을 얼마나 효과적으로 생성하는가?
- RQ3자동 코드 생성을 통해 동일한 알고리즘 사양이 FPGAs 및 GPUs를 포함한 다양한 가속기 플랫폼 간에 얼마나 널리 재사용 가능한가?
- RQ4이미지 피라미드 및 다중 격자 해법과 같은 다중 해상도 알고리즘에 고수준 합성을 적용할 경우 달성 가능한 성능 및 자원 효율성은 어느 정도인가?
주요 결과
- HIPAcc 프레임워크는 고수준 DSL 사양에서 다중 해상도 영상 처리 응용 프로그램을 위한 효율적이고 합성 가능한 하드웨어 코드를 성공적으로 생성한다.
- 이 방법은 저수준 하드웨어 코딩 없이도 다중 해상도 알고리즘(예: 가우시안 및 라플라시안 피라미드)을 FPGAs에 자동으로 매핑할 수 있도록 한다.
- 생성된 FPGA 구현은 높은 성능과 자원 효율성을 달성하여, 복잡한 과학적 워크로드에 대한 자동 고수준 합성의 타당성을 입증한다.
- 동일한 알고리즘 사양은 FPGAs 및 GPUs를 포함한 여러 플랫폼 간에 재사용 가능하여 개발 노력 감소와 이식성 향상을 가져온다.
- 재구성 가능한 하드웨어에서 고성능 다중 해상도 응용 프로그램을 구현하기 위한 전문 지식 장벽을 상당히 낮춘다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.