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 (Нью-Йоркский университет Абу-Даби)
  • Классификация: cs.PL (Языки программирования), cs.LG (Машинное обучение), cs.PF (Производительность)
  • Дата публикации: 11 октября 2025 г. (препринт arXiv)
  • Ссылка на статью: https://arxiv.org/abs/2510.10209

Аннотация

Развитие оптимизации компиляторов на основе машинного обучения в полиэдральной модели ограничено дефицитом крупномасштабных открытых наборов данных о производительности. Этот дефицит данных вынуждает исследователей проводить дорогостоящие операции по генерации данных, замедляя инновации и препятствуя воспроизводимым исследованиям оптимизации кода. Для решения этой проблемы авторы представляют LOOPerSet — новый открытый набор данных, содержащий 28 миллионов помеченных точек данных, полученных из 220 тысяч уникальных синтетически сгенерированных полиэдральных программ. Каждая точка данных сопоставляет программу и сложные последовательности семантически сохраняющих преобразований (таких как слияние, наклон, блокировка и параллелизация) с реальными измерениями производительности (время выполнения). Масштаб и разнообразие LOOPerSet делают его ценным ресурсом для обучения и оценки моделей стоимости, тестирования новых архитектур моделей и исследования границ автоматического полиэдрального планирования.

Исследовательский контекст и мотивация

Основная проблема

Полиэдральная модель предоставляет мощную основу для выражения и применения сложных преобразований циклов, что критически важно для оптимизации научных вычислений и высокопроизводительных приложений. Однако основная проблема заключается в навигации по огромному пространству поиска допустимых последовательностей преобразований для нахождения последовательности, обеспечивающей оптимальную производительность на целевом оборудовании.

Важность проблемы

  1. Ограничения традиционных методов: Существующие аналитические модели стоимости и эвристики, хотя и универсальны и управляемы, с трудом захватывают тонкие нелинейные взаимодействия между оптимизацией и базовой системой
  2. Потенциал методов, управляемых данными: Методы машинного обучения могут развить более тонкое понимание эффективности затрат на преобразования на реальном оборудовании путем обучения на больших объемах данных о производительности
  3. Узкое место дефицита данных: Отсутствие крупномасштабных открытых наборов данных о производительности серьезно ограничивает исследования оптимизации компиляторов, управляемые данными

Ограничения существующих подходов

  1. Высокая стоимость генерации данных: Исследовательские группы должны проводить дорогостоящие и трудоемкие операции по генерации данных
  2. Плохая воспроизводимость: Отсутствие открытого набора данных препятствует строгому сравнению методов
  3. Высокий барьер входа: Высокие затраты на сбор данных препятствуют потенциальным участникам в области исследований

Основные вклады

  1. Крупномасштабный открытый набор данных: Построение набора данных LOOPerSet, содержащего 28 миллионов помеченных точек данных, полученных из 220 тысяч уникальных синтетических полиэдральных программ
  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. Проектирование с адаптацией к оборудованию: Поддержка предварительного обучения и трансферного обучения, снижение затрат на адаптацию к новым архитектурам

Экспериментальная установка

Масштаб набора данных

  • Общее количество программ: Примерно 220 тысяч уникальных программ
  • Общее количество точек данных: Более 28 миллионов помеченных примеров
  • Расписания на программу: Медиана 70
  • Объем работы по генерации данных: Примерно 71 тысяча часов CPU
  • Диапазон ускорения: От 0,0004× до 1230×

Аппаратная платформа

  • Целевая архитектура: Двухсокетная система с процессором Intel Xeon E5-2695 v2
  • Метод измерения: Выполнение каждой версии программы до 30 раз с записью распределения времени выполнения

Методы валидации

  • Структурное сходство: Использование нормализованного расстояния редактирования деревьев (nTED) для измерения структурного сходства между программами
  • Сравнение с тестовыми наборами: Количественный анализ в сравнении с набором PolyBench
  • Анализ пространства признаков: Визуализация 20-мерного пространства признаков с использованием анализа главных компонент (PCA)

Результаты экспериментов

Статистические характеристики набора данных

Структурное разнообразие:

  • 14% программ содержат по крайней мере одну непрямоугольную область итерации
  • Глубина циклов, шаблоны ссылок на память и коэффициент ветвления демонстрируют распределение с длинным хвостом
  • Использование памяти, время выполнения базовой версии и общий объем области итерации охватывают несколько порядков величины

Распределение производительности:

  • Измеренные ускорения демонстрируют пиковое распределение, сосредоточенное вокруг 1,0×
  • Правый хвост демонстрирует наличие эффективных последовательностей преобразований
  • Левый хвост отражает случаи вредоносного планирования

Результаты верификации разнообразия

Сравнение с PolyBench:

  • Подтверждение отсутствия дубликатов: Минимальное расстояние nTED никогда не равно нулю, наиболее похожей является 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. Смещение генерации: Синтетические программы могут содержать систематические смещения
  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)
  • Варианты версий:
    • Полная версия: 28 миллионов точек данных
    • Компактная версия: 10 миллионов точек данных (соответствует экспериментам статьи LOOPer)

Набор данных LOOPerSet представляет собой важную веху в области исследований оптимизации полиэдральных компиляторов. Благодаря предоставлению крупномасштабного, высококачественного открытого набора данных, он, вероятно, значительно продвинет развитие этой области и снизит барьер входа для исследований. Его строгая методология построения и открытый способ доступа делают его ценным ресурсом для будущих связанных исследований.