2025-11-20T05:01:15.151274

LOOPerSet: A Large-Scale Dataset for Data-Driven Polyhedral Compiler Optimization

Merouani, Boudaoud, Baghdadi
The advancement of machine learning for compiler optimization, particularly within the polyhedral model, is constrained by the scarcity of large-scale, public performance datasets. This data bottleneck forces researchers to undertake costly data generation campaigns, slowing down innovation and hindering reproducible research learned code optimization. To address this gap, we introduce LOOPerSet, a new public dataset containing 28 million labeled data points derived from 220,000 unique, synthetically generated polyhedral programs. Each data point maps a program and a complex sequence of semantics-preserving transformations (such as fusion, skewing, tiling, and parallelism)to a ground truth performance measurement (execution time). The scale and diversity of LOOPerSet make it a valuable resource for training and evaluating learned cost models, benchmarking new model architectures, and exploring the frontiers of automated polyhedral scheduling. The dataset is released under a permissive license to foster reproducible research and lower the barrier to entry for data-driven compiler optimization.
academic

LOOPerSet: 데이터 기반 다면체 컴파일러 최적화를 위한 대규모 데이터셋

기본 정보

  • 논문 ID: 2510.10209
  • 제목: LOOPerSet: A Large-Scale Dataset for Data-Driven Polyhedral Compiler Optimization
  • 저자: Massinissa Merouani, Afif Boudaoud, Riyadh Baghdadi (New York University Abu Dhabi)
  • 분류: cs.PL (프로그래밍 언어), cs.LG (머신러닝), cs.PF (성능)
  • 발표 시간: 2025년 10월 11일 (arXiv 사전인쇄본)
  • 논문 링크: https://arxiv.org/abs/2510.10209

초록

다면체 모델에서 머신러닝 컴파일러 최적화의 발전은 대규모 공개 성능 데이터셋의 부족으로 인해 제약을 받고 있습니다. 이러한 데이터 병목 현상으로 인해 연구자들은 비용이 많이 드는 데이터 생성 활동을 수행해야 하며, 이는 혁신 속도를 늦추고 재현 가능한 코드 최적화 연구를 방해합니다. 이 문제를 해결하기 위해 저자들은 LOOPerSet을 소개합니다. 이는 22만 개의 고유한 합성 생성 다면체 프로그램에서 나온 2,800만 개의 레이블이 지정된 데이터 포인트를 포함하는 새로운 공개 데이터셋입니다. 각 데이터 포인트는 프로그램과 복잡한 의미 보존 변환 시퀀스(예: 융합, 기울임, 타일링 및 병렬화)를 실제 성능 측정(실행 시간)에 매핑합니다. LOOPerSet의 규모와 다양성은 학습 비용 모델 훈련 및 평가, 새로운 모델 아키텍처 벤치마킹, 자동 다면체 스케줄링의 최전선 탐색을 위한 귀중한 자원이 됩니다.

연구 배경 및 동기

핵심 문제

다면체 모델은 복잡한 루프 변환을 표현하고 적용하기 위한 강력한 프레임워크를 제공하며, 이는 과학 계산 및 고성능 애플리케이션 최적화에 매우 중요합니다. 그러나 주요 과제는 합법적인 변환 시퀀스의 거대한 검색 공간을 탐색하여 주어진 하드웨어 대상에서 최적의 성능을 제공하는 변환 시퀀스를 찾는 방법입니다.

문제의 중요성

  1. 기존 방법의 한계: 현존하는 분석적 비용 모델 및 휴리스틱 방법은 일반적이고 다루기 쉽지만, 최적화와 기본 시스템 간의 미묘한 비선형 상호작용을 포착하기 어렵습니다
  2. 데이터 기반 방법의 잠재력: 머신러닝 방법은 대량의 성능 데이터로 훈련하여 실제 하드웨어에서 변환 비용 효율에 대한 더 정교한 이해를 발전시킬 수 있습니다
  3. 데이터 부족 병목: 대규모 공개 성능 데이터셋의 부재는 데이터 기반 컴파일러 최적화 연구를 심각하게 제약합니다

기존 방법의 한계

  1. 높은 데이터 생성 비용: 연구팀은 비용이 많이 들고 시간이 오래 걸리는 데이터 생성 활동을 수행해야 합니다
  2. 낮은 재현성: 공개 데이터셋의 부재는 엄격한 방법 비교를 방해합니다
  3. 높은 연구 진입 장벽: 높은 데이터 수집 비용은 잠재적 기여자들의 분야 진입을 방해합니다

핵심 기여

  1. 대규모 공개 데이터셋: 22만 개의 고유한 합성 다면체 프로그램에서 나온 2,800만 개의 레이블이 지정된 데이터 포인트를 포함하는 LOOPerSet 데이터셋 구축
  2. 다양성 보장: 다단계 무작위화 프로그램 생성기를 통해 구조적 다양성을 보장하고 특정 벤치마크에 대한 편향 방지
  3. 관련성 기반 샘플링: 관련성 유도 변환 공간 샘플링 전략을 채택하여 데이터셋이 실제로 유용한 최적화 시퀀스를 포함하도록 보장
  4. 엄격한 검증: 정규화된 트리 편집 거리 등의 정량화 방법을 통해 데이터셋의 다양성 및 참신성 검증
  5. 개방 접근: 관대한 라이선스 하에 공개하여 재현 가능한 연구를 촉진하고 데이터 기반 컴파일러 최적화의 진입 장벽 감소

방법론 상세 설명

작업 정의

각 데이터 포인트가 다음을 포함하는 대규모, 다양한 데이터셋 구축:

  • 입력: 다면체 프로그램 표현 + 변환 시퀀스
  • 출력: 실제 하드웨어에서의 성능 측정(실행 시간)
  • 제약: 모든 변환은 의미 정확성을 보존해야 함

데이터 생성 파이프라인

1. 프로그램 공간 샘플링: 합성 프로그램 생성기

다단계 무작위화 프로세스:

루프 구조 생성:

  • 최상위 루프 중첩 수를 확률적으로 결정
  • 각 중첩의 구조를 재귀적으로 구축
  • 직사각형 및 비직사각형(삼각형, 사다리꼴) 반복 영역 생성
  • 루프 경계는 상수이거나 외부 루프 반복자의 함수일 수 있음

계산 배치 및 순서 지정:

  • 루프 중첩 내에서 계산을 무작위로 배치
  • 동일 수준에서 계산과 부분 중첩을 교차시킬 수 있음
  • 각 계산에 데이터 타입 할당(32/64비트 부동소수점 또는 정수)

메모리 접근 및 표현식 생성:

  • 메모리 패턴: 단순한 항등 매핑에서 복잡한 다차원 템플릿(별 모양, 십자 모양) 및 상수 오프셋 접근까지 다양한 메모리 접근 패턴 생성
  • 산술 표현식: 표현식 트리를 무작위로 조합하여 계산 논리 구축, 메모리 접근 및 스칼라 값 결합, 일반적인 산술 연산자 및 수학 함수 사용

일관성 및 검증 확인:

  • 사소한 작업 감지 및 방지(중복 계산 루프, 죽은 쓰기 등)
  • 합성 프로그램이 구문 및 계산상 의미 있는지 확인

2. 변환 공간 샘플링: 관련성 유도 탐색

LOOPer 자동 스케줄러의 실행 유도 검색 메커니즘을 사용하여 빔 검색을 수행하고 주요 다면체 최적화의 유망한 시퀀스 탐색:

  • 루프 융합 (Loop Fusion)
  • 기울임 (Skewing)
  • 교환 (Interchange)
  • 반전 (Reversal)
  • 타일링 (Tiling)
  • 병렬화 (Parallelization)
  • 전개 (Unrolling)

합법성 검증: 표준 다면체 의존성 분석을 사용하여 모든 변환 시퀀스가 의미 정확성을 보존하는지 확인합니다.

3. 성능 레이블 생성

  • Tiramisu 컴파일러 프레임워크를 사용하여 실행 파일 생성
  • 듀얼 소켓 Intel Xeon E5-2695 v2 프로세서 시스템에서 실행
  • 측정 안정성을 보장하기 위해 각 프로그램 버전을 최대 30회 실행
  • 시스템 노이즈에 대응하기 위해 완전한 실행 시간 목록 기록

기술 혁신 포인트

  1. 구조적 다양성 최대화: 재귀적 확률 생성 프로세스를 통해 프로그램 구조의 광범위한 커버리지 보장
  2. 관련성 유도 샘플링: 무작위 샘플링의 비효율성을 피하고 실제 컴파일러가 고려할 변환 시퀀스에 집중
  3. 정량화된 다양성 검증: 정규화된 트리 편집 거리 등의 공식적 방법을 사용하여 데이터셋 품질 검증
  4. 하드웨어 적응성 설계: 사전 훈련 및 전이 학습을 지원하여 새로운 아키텍처 적응 비용 감소

실험 설정

데이터셋 규모

  • 총 프로그램 수: 약 22만 개의 고유 프로그램
  • 총 데이터 포인트: 2,800만 개 이상의 레이블이 지정된 샘플
  • 프로그램당 스케줄 수: 중앙값 70개
  • 데이터 생성 작업량: 약 7.1만 CPU 시간
  • 가속 비율 범위: 0.0004× ~ 1230×

하드웨어 플랫폼

  • 대상 아키텍처: 듀얼 소켓 Intel Xeon E5-2695 v2 프로세서 시스템
  • 측정 방식: 각 프로그램 버전을 최대 30회 실행하여 실행 시간 분포 기록

검증 방법

  • 구조적 유사성: 정규화된 트리 편집 거리(nTED)를 사용하여 프로그램 간 구조적 유사성 측정
  • 벤치마크 비교: PolyBench 제품군과의 정량적 비교 분석
  • 특징 공간 분석: 주성분 분석(PCA)을 사용하여 20차원 특징 공간의 시각화

실험 결과

데이터셋 통계 특성

구조적 다양성:

  • 14%의 프로그램은 최소 하나의 비직사각형 반복 영역 포함
  • 루프 깊이, 메모리 참조 패턴 및 분기 계수는 롱테일 분포 표시
  • 메모리 점유, 기본 실행 시간 및 총 반복 영역 볼륨은 여러 수량급에 걸쳐 있음

성능 분포:

  • 측정된 가속 비율은 1.0× 주변에 집중된 첨예한 분포 표시
  • 오른쪽 꼬리는 효율적인 변환 시퀀스의 존재 시연
  • 왼쪽 꼬리는 해로운 스케줄의 경우 포착

다양성 검증 결과

PolyBench와의 비교:

  • 중복 없음 확인: 최소 nTED 거리는 절대 0이 아니며, 가장 유사한 것은 seidel-2d (nTED=0.022)
  • 더 넓은 구조 공간: 합성 프로그램과 벤치마크 간의 중앙값 거리(0.537)는 PolyBench 내부 중앙값 거리(0.467)보다 높음
  • 특징 공간 커버리지: PCA 시각화는 PolyBench 프로그램이 LOOPerSet 특징 클라우드의 밀집 영역 내에 위치함을 보여줌

분포 비교:

  • 누적 분포 함수는 합성 프로그램과 벤치마크 간의 거리 분포가 벤치마크 내부 거리 분포보다 지속적으로 낮음을 보여줌
  • LOOPerSet이 기존 벤치마크보다 더 광범위하고 다양한 구조 공간을 탐색함을 시사

관련 연구

다면체 컴파일러 최적화

  • 기존 방법: 분석적 비용 모델 기반 PLUTO, PolyOpt, GRAPHITE 등
  • 학습 방법: Tiramisu 자동 스케줄러, TVM/Ansor, Halide 최적화기 등 데이터 기반 방법

성능 데이터셋

  • 기존 한계: 대규모 공개 다면체 최적화 성능 데이터셋 부족
  • 관련 자원: 텐서 계산 그래프 성능 예측 데이터셋인 TpuGraphs 등

프로그램 합성

  • 벤치마크: PolyBench 등 표준 벤치마크 제품군의 한계
  • 합성 방법: 컴파일러 연구에서 무작위 프로그램 생성의 적용

결론 및 논의

주요 결론

  1. 데이터 병목 해결: LOOPerSet은 다면체 컴파일러 최적화 연구의 데이터 부족 문제를 효과적으로 해결
  2. 품질 보증: 엄격한 다양성 분석 및 관련성 유도 샘플링을 통해 데이터셋 품질 보장
  3. 커뮤니티 자원: 연구 커뮤니티에 즉시 사용 가능한 대규모 벤치마킹 플랫폼 제공

한계

  1. 하드웨어 특이성: 성능 레이블은 Intel Xeon E5-2695 v2 아키텍처에 특정
  2. 합성 프로그램 한계: 다양하지만 모든 실제 프로그램 패턴을 완전히 커버하지 못할 수 있음
  3. 변환 공간: LOOPer 시스템이 지원하는 변환 유형으로 제한

향후 방향

  1. 크로스 아키텍처 확장: GPU 및 기타 CPU 마이크로아키텍처에서 성능 레이블 생성
  2. 전이 학습 연구: 데이터셋을 활용하여 제로샷 또는 소수샷 일반화 연구
  3. 새로운 모델 아키텍처: GNN, Transformer 등 새로운 비용 모델 아키텍처 탐색
  4. 해석 가능성 연구: 모델 실패 패턴 분석 및 일반화 능력 향상

심층 평가

장점

  1. 전례 없는 규모: 2,800만 데이터 포인트의 규모는 이 분야에서 전례 없음
  2. 엄격한 방법론: 다단계 생성 파이프라인 및 정량화 검증 방법이 과학적으로 엄격
  3. 높은 실용 가치: 관련성 유도 샘플링은 데이터셋의 실제 응용 가치 보장
  4. 강한 개방성: CC-BY 4.0 라이선스 및 Hugging Face 플랫폼은 접근성 보장
  5. 재현성: 상세한 데이터 형식 설명 및 도구 지원

부족한 점

  1. 아키텍처 의존성: 성능 레이블은 단일 하드웨어 플랫폼으로 제한
  2. 제한된 검증: 실제 애플리케이션에서의 검증 부족
  3. 생성 편향: 합성 프로그램은 체계적 편향이 있을 수 있음
  4. 변환 커버리지: 변환 유형은 기존 도구 지원으로 제한

영향력

  1. 학술적 기여: 데이터 기반 컴파일러 최적화 연구를 위한 기반 시설 제공
  2. 실용적 가치: 신규 연구자의 진입 장벽을 크게 감소
  3. 재현성: 방법 비교 및 결과 재현 촉진
  4. 장기적 영향: 이 분야를 더욱 데이터 기반 방향으로 발전시킬 가능성

적용 시나리오

  1. 비용 모델 훈련: 다양한 머신러닝 비용 모델 훈련 및 평가
  2. 아키텍처 비교: 다양한 모델 아키텍처 및 특징화 방법 벤치마킹
  3. 전이 학습: 새로운 아키텍처 적응을 지원하는 사전 훈련 데이터셋
  4. 휴리스틱 발견: 데이터 마이닝을 통한 새로운 컴파일러 휴리스틱 발견
  5. 해석 가능성 연구: 모델 동작 및 실패 패턴 분석

데이터셋 접근 정보

  • 접근 주소: https://huggingface.co/datasets/Mascinissa/LOOPerSet
  • 데이터 형식: JSON Lines (.jsonl)
  • 라이선스 협약: Creative Commons Attribution 4.0 International (CC-BY 4.0)
  • 버전 선택:
    • 완전 버전: 2,800만 데이터 포인트
    • 축약 버전: 1,000만 데이터 포인트(LOOPer 논문 실험과 일치)

LOOPerSet 데이터셋은 다면체 컴파일러 최적화 연구 분야의 중요한 이정표를 나타내며, 대규모의 고품질 공개 데이터셋을 제공함으로써 이 분야의 발전을 크게 촉진하고 연구 진입 장벽을 낮출 것으로 기대됩니다. 엄격한 구축 방법과 개방적인 접근 방식은 향후 관련 연구의 귀중한 자원이 될 것입니다.