toplogo
Sign In

폴리헤드럴 컴파일러를 위한 학습 기반 자동 코드 최적화기 LOOPer


Core Concepts
LOOPer는 폴리헤드럴 컴파일러에서 복잡한 코드 변환을 지원하고 다중 루프 중첩 및 비직사각형 반복 영역을 가진 프로그램을 최적화할 수 있는 첫 번째 딥러닝 기반 폴리헤드럴 자동 스케줄러이다.
Abstract
이 논문은 LOOPer, 폴리헤드럴 컴파일러를 위한 새로운 딥러닝 기반 자동 코드 최적화기를 소개한다. LOOPer는 기존 폴리헤드럴 컴파일러의 한계를 극복하고자 한다. 첫째, LOOPer는 복잡한 일련의 폴리헤드럴 변환을 탐색할 수 있다. 이를 통해 다양한 코드 변환을 적용할 수 있다. 둘째, LOOPer는 다중 루프 중첩 및 비직사각형 반복 영역을 가진 프로그램을 지원한다. 이를 통해 더 많은 프로그램을 최적화할 수 있다. LOOPer의 핵심 구성 요소는 탐색 공간 탐색 모듈과 평가 모듈이다. 탐색 공간 탐색 모듈은 변환 후보를 생성하고 탐색 전략을 정의한다. 평가 모듈은 딥러닝 기반 비용 모델을 사용하여 변환 후보의 품질을 평가한다. LOOPer는 PolyBench 벤치마크에서 Tiramisu 대비 1.59배, Pluto 대비 1.34배의 성능 향상을 보였다. 이를 통해 LOOPer가 기존 폴리헤드럴 컴파일러를 능가하는 성능을 달성할 수 있음을 보여준다.
Stats
PolyBench 벤치마크에서 LOOPer는 Tiramisu 대비 1.59배, Pluto 대비 1.34배의 성능 향상을 보였다.
Quotes
"LOOPer는 폴리헤드럴 컴파일러에서 복잡한 코드 변환을 지원하고 다중 루프 중첩 및 비직사각형 반복 영역을 가진 프로그램을 최적화할 수 있는 첫 번째 딥러닝 기반 폴리헤드럴 자동 스케줄러이다." "LOOPer는 PolyBench 벤치마크에서 Tiramisu 대비 1.59배, Pluto 대비 1.34배의 성능 향상을 보였다."

Key Insights Distilled From

by Massinissa M... at arxiv.org 03-19-2024

https://arxiv.org/pdf/2403.11522.pdf
LOOPer

Deeper Inquiries

LOOPer의 비용 모델이 다른 하드웨어 아키텍처에서도 효과적으로 작동할 수 있을까

LOOPer의 비용 모델은 하드웨어에 독립적이므로 다른 하드웨어 아키텍처에서도 효과적으로 작동할 수 있습니다. 이 모델은 프로그램과 변환의 조합으로 구성된 입력 공간이 매우 크기 때문에 정확한 예측을 위해 상당한 양의 레이블이 달린 데이터가 필요합니다. 따라서 새로운 CPU 아키텍처에 대한 데이터를 생성하고 모델을 재학습함으로써 LOOPer를 다른 CPU 아키텍처로 쉽게 이식할 수 있습니다.

LOOPer가 지원하지 않는 폴리헤드럴 변환을 추가하면 성능 향상을 더 얻을 수 있을까

LOOPer가 지원하지 않는 폴리헤드럴 변환을 추가하면 성능 향상을 더 얻을 수 있습니다. 현재 LOOPer는 일부 폴리헤드럴 변환을 탐색하지 않고 있으며, 이로 인해 Pluto와 같은 다른 컴파일러에 비해 성능이 떨어질 수 있습니다. 따라서 LOOPer가 더 많은 폴리헤드럴 변환을 지원하고 이를 효과적으로 활용할 수 있다면 성능 향상을 기대할 수 있습니다.

LOOPer의 탐색 알고리즘을 개선하여 더 빠른 최적화 속도를 달성할 수 있을까

LOOPer의 탐색 알고리즘을 개선하여 더 빠른 최적화 속도를 달성할 수 있습니다. 예를 들어, 더 효율적인 후보 생성 알고리즘을 구현하거나 더 효율적인 탐색 전략을 도입함으로써 속도를 향상시킬 수 있습니다. 또한 모델의 학습 데이터를 최적화하여 더 빠른 학습을 가능하게 할 수 있습니다. 이러한 개선을 통해 LOOPer는 더 빠른 최적화 속도를 달성할 수 있을 것으로 기대됩니다.
0
visual_icon
generate_icon
translate_icon
scholar_search_icon
star