Skip to main content
QUICK REVIEW

[논문 리뷰] AutoPhase: Compiler Phase-Ordering for High Level Synthesis with Deep Reinforcement Learning

Ameer Haj-Ali, Qijing Huang|arXiv (Cornell University)|2019. 01. 15.
Evolutionary Algorithms and Applications참고 문헌 24인용 수 4
한 줄 요약

이 논문은 고수준 합성(HLS)에서 회로 성능을 향상시키기 위해 컴파일러 단계 순서를 최적화하는 딥 강화학습 프레임워크인 AutoPhase를 제안한다. LLVM IR 특징을 기반으로 DQN 및 정책 기반 강화학습 알고리즘을 사용함으로써, AutoPhase는 -O3보다 16% 뛰어난 성능을 달성하면서도 검색 속도가 1~2개 정도의 주기 빠르게 구현되어 전통적인 방법에 비해 뛰어난 효율성과 효과성을 입증한다.

ABSTRACT

The performance of the code generated by a compiler depends on the order in which the optimization passes are applied. In high-level synthesis, the quality of the generated circuit relates directly to the code generated by the front-end compiler. Choosing a good order--often referred to as the phase-ordering problem--is an NP-hard problem. In this paper, we evaluate a new technique to address the phase-ordering problem: deep reinforcement learning. We implement a framework in the context of the LLVM compiler to optimize the ordering for HLS programs and compare the performance of deep reinforcement learning to state-of-the-art algorithms that address the phase-ordering problem. Overall, our framework runs one to two orders of magnitude faster than these algorithms, and achieves a 16% improvement in circuit performance over the -O3 compiler flag.

연구 동기 및 목표

  • 고수준 합성(HLS)에서 NP-완전 문제인 단계 순서 문제를 해결함으로써 최적화 단계의 순서가 회로 성능에 미치는 영향을 최소화하고자 한다.
  • 딥 강화학습이 기존 히우리스틱 및 유전 알고리즘보다 최적의 단계 순서를 찾는 데서 뛰어난 성능을 발휘할 수 있는지 탐색하고자 한다.
  • 새로운 프로그램에 대해 재학습이 최소한으로 필요한 효율적인 단계 순서 정책을 학습하는 프레임워크를 개발하고자 한다.
  • HLS 최적화의 맥락에서 성능 향상과 학습/추론 효율성 간의 트레이드오프를 평가하고자 한다.

제안 방법

  • 기본 블록 수, 분기 수, 지시어 유형 빈도 등 56개의 정적 특징을 LLVM IR에서 추출하여 프로그램 상태를 표현한다.
  • 이전에 적용된 최적화 단계의 히스토그램 또는 원시 특징 벡터로 상태를 표현한다.
  • 회로 성능을 최대화하는 단계 순서 정책을 학습하기 위해 DQN 및 정책 기반 강화학습 알고리즘을 사용하여 딥 강화학습 에이전트를 훈련시킨다.
  • 정책 최적화를 위한 보상 신호로 LegUp의 HLS 프로파일러에서 보고한 클록 사이클 수를 사용한다.
  • CHstone 및 LegUp 예제에서 얻은 12개의 HLS 벤치마크를 대상으로 시퀀스 길이(3, 12, 24)를 다양하게 설정하여 확장성 평가를 수행한다.
  • 랜덤 검색, 근사 알고리즘, 유전 알고리즘, -O3 컴파일러 플래그와의 비교를 통해 강화학습 기반 접근법의 성능을 평가한다.

실험 결과

연구 질문

  • RQ1딥 강화학습은 HLS 워크로드에 대해 최적의 컴파일러 단계 순서 시퀀스를 효과적으로 학습할 수 있는가?
  • RQ2유전 알고리즘 및 근사 히우리스틱과 같은 최첨단 알고리즘 대비 강화학습 기반 단계 순서 최적화의 성능은 어떻게 비교되는가? 특히 회로 속도 향상 측면에서.
  • RQ3HLS에서 단계 순서 최적화에 강화학습을 적용할 경우, 학습 시간과 최적화 품질 간의 트레이드오프는 어떠한가?
  • RQ4학습된 강화학습 에이전트는 재학습 최소화로 다양한 HLS 프로그램에 일반화할 수 있는가?
  • RQ5일정 수준 이상의 최적화 단계 적용 수를 초과할 경우 성능 향상에 대한 수익 감소 현상이 나타나는가?

주요 결과

  • AutoPhase는 -O3 컴파일러 플래그 대비 16% 높은 회로 성능 향상을 달성하여 뚜렷한 최적화 성과를 입증했다.
  • 프레임워크는 유전 알고리즘 및 기타 최첨단 방법보다 1~2개 주기 빠르게 작동하여 뛰어난 실행 효율성을 보였다.
  • 12단계에서 24단계로 시퀀스 길이를 늘일 경우 성능 향상이 거의 없거나 미미하여 수익 감소 현상이 나타남을 확인했다.
  • 강화학습 방법은 유전 알고리즘의 성능를 따라하거나 초월했으며, 학습 및 실행 속도 면에서 훨씬 빠른 성능를 보였다.
  • 학습된 강화학습 에이전트는 일반화 잠재력을 보였으며, 최소한의 재학습으로 새로운 프로그램에 대한 빠른 최적화를 가능케 했다.

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

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

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

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