google/ml-compiler-opt
Infrastructure for Machine Learning Guided Optimization (MLGO) in LLVM.
해결하는 문제
LLVM 컴파일러 내의 수작업으로 작성된 최적화 히ュ리스틱을 기계학습 모델로 대체하여 코드의 크기와 성능 최적화를 향상시킵니다.
작동 방식
MLGO는 전통적인 히ュ리스틱을 대체하기 위해 기계학습 기법을 LLVM에 통합합니다. 특정 컴파일러 작업을 위한 정책을 학습하기 위해 정책 기울기(Policy Gradient)와 같은 알고리즘을 사용합니다. 현재 프레임워크는 두 가지 주요 최적화에 집중하고 있습니다: 크기 최적화를 위한 인라인화와 성능 최적화를 위한 레지스터 할당.
대상 사용자
수동 히ュ리스틱 대신 기계학습 모델을 사용하여 LLVM의 컴파일 프로세스를 최적화하고자 하는 컴파일러 엔지니어 및 개발자.
주요 특징
- 크기 최적화를 위한 인라인화와 성능 최적화를 위한 레지스터 할당을 지원합니다.
- 정책을 학습하기 위해 정책 기울기(Policy Gradient)를 사용합니다.
- 사용자 정의 모델을 생성하기 위한 학습 인프라와 도구를 제공합니다.
- CMake 플래그를 통해 직접 LLVM에 통합할 수 있는 사전 학습된 모델을 제공합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트