核心概念
기계 학습 모델을 활용하여 컴파일러 최적화 결정 프로세스를 개선하여 프로그램 성능을 향상시킬 수 있다.
摘要
이 논문은 ACPO(AI-Enabled Compiler-Driven Program Optimization)라는 새로운 프레임워크를 소개한다. ACPO는 LLVM 컴파일러에 기계 학습 모델을 쉽게 통합할 수 있는 도구와 라이브러리를 제공한다.
ACPO의 주요 기능은 다음과 같다:
- 컴파일러 엔지니어가 기계 학습 모델을 쉽게 사용할 수 있도록 직관적인 인터페이스 제공
- 컴파일러와 기계 학습 프레임워크 간의 독립성 유지, 따라서 컴파일러 버전, 모델, 프레임워크 변경 시에도 기능이 유지됨
- 루프 언롤링과 함수 인라이닝 최적화 사례 제시
- 루프 언롤링: ACPO 모델이 LLVM의 O3 최적화 대비 평균 4% 성능 향상 달성
- 함수 인라이닝: 기존 모델(MLGOPerf)을 ACPO에 통합하여 Cbench에서 2.4% 성능 향상 달성
실험 결과를 통해 ACPO 프레임워크가 컴파일러 최적화 향상을 위해 기계 학습을 효과적으로 활용할 수 있음을 보여준다.
统计
ACPO 루프 언롤링 모델은 Polybench 벤치마크에서 평균 4% 성능 향상을 달성했다.
ACPO 함수 인라이닝 모델은 Cbench 벤치마크에서 2.4% 성능 향상을 달성했다.
ACPO 루프 언롤링과 함수 인라이닝 모델을 함께 사용하면 Polybench에서 4.5%, Cbench에서 2.4% 성능 향상을 달성했다.
引用
"기계 학습 모델을 활용하여 컴파일러 최적화 결정 프로세스를 개선하여 프로그램 성능을 향상시킬 수 있다."
"ACPO는 컴파일러 엔지니어가 기계 학습 모델을 쉽게 사용할 수 있도록 직관적인 인터페이스를 제공한다."
"ACPO는 컴파일러와 기계 학습 프레임워크 간의 독립성을 유지하여 변경에 유연하게 대응할 수 있다."