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.
- ID del Artículo: 2510.10209
- Título: LOOPerSet: A Large-Scale Dataset for Data-Driven Polyhedral Compiler Optimization
- Autores: Massinissa Merouani, Afif Boudaoud, Riyadh Baghdadi (New York University Abu Dhabi)
- Clasificación: cs.PL (Lenguajes de Programación), cs.LG (Aprendizaje Automático), cs.PF (Rendimiento)
- Fecha de Publicación: 11 de octubre de 2025 (preimpresión en arXiv)
- Enlace del Artículo: https://arxiv.org/abs/2510.10209
El desarrollo de optimizaciones de compiladores basadas en aprendizaje automático en el modelo poliedral se ve limitado por la escasez de conjuntos de datos de rendimiento públicos a gran escala. Este cuello de botella de datos obliga a los investigadores a realizar costosas actividades de generación de datos, ralentizando el ritmo de innovación e impidiendo la investigación reproducible de optimización de código. Para abordar este problema, los autores presentan LOOPerSet, un nuevo conjunto de datos público que contiene 28 millones de puntos de datos etiquetados, procedentes de 220,000 programas poliedrales sintéticos únicos. Cada punto de datos asigna un programa y una secuencia compleja de transformaciones semánticamente preservadas (como fusión, sesgado, división en bloques y paralelización) a mediciones de rendimiento reales (tiempo de ejecución). La escala y diversidad de LOOPerSet lo convierten en un recurso valioso para entrenar y evaluar modelos de costos de aprendizaje, realizar pruebas comparativas de nuevas arquitecturas de modelos y explorar la frontera de la programación poliedral automática.
El modelo poliedral proporciona un marco potente para expresar y aplicar transformaciones de bucles complejas, lo cual es crucial para optimizar aplicaciones científicas y de alto rendimiento. Sin embargo, el desafío principal radica en cómo navegar por el enorme espacio de búsqueda de secuencias de transformaciones legales para encontrar aquellas que proporcionen el mejor rendimiento en una arquitectura de hardware objetivo.
- Limitaciones de Métodos Tradicionales: Los modelos de costos analíticos existentes y los métodos heurísticos, aunque generales y manejables, tienen dificultades para capturar las sutiles interacciones no lineales entre la optimización y el sistema subyacente
- Potencial de Métodos Impulsados por Datos: Los métodos de aprendizaje automático pueden desarrollar una comprensión más refinada de la relación costo-beneficio de las transformaciones en hardware real mediante el entrenamiento con grandes volúmenes de datos de rendimiento
- Cuello de Botella de Datos: La falta de conjuntos de datos de rendimiento públicos a gran escala limita severamente la investigación de optimización de compiladores impulsada por datos
- Alto Costo de Generación de Datos: Los equipos de investigación necesitan realizar actividades costosas y que requieren mucho tiempo para la generación de datos
- Baja Reproducibilidad: La ausencia de conjuntos de datos públicos impide comparaciones rigurosas de métodos
- Alta Barrera de Entrada: El alto costo de recopilación de datos obstaculiza la entrada de posibles contribuyentes al campo
- Conjunto de Datos Público a Gran Escala: Construcción del conjunto de datos LOOPerSet que contiene 28 millones de puntos de datos etiquetados procedentes de 220,000 programas poliedrales sintéticos únicos
- Garantía de Diversidad: Asegurar la diversidad estructural mediante un generador de programas aleatorizado multietapa, evitando sesgos hacia conjuntos de pruebas específicos
- Muestreo Orientado por Relevancia: Adoptar una estrategia de muestreo del espacio de transformaciones guiada por relevancia para garantizar que el conjunto de datos contenga secuencias de optimización realmente útiles
- Validación Rigurosa: Verificar la diversidad y novedad del conjunto de datos mediante métodos cuantitativos como la distancia de edición de árbol normalizada
- Acceso Abierto: Publicación bajo una licencia permisiva para promover investigación reproducible y reducir las barreras para la optimización de compiladores impulsada por datos
Construir un conjunto de datos a gran escala y diversificado donde cada punto de datos incluye:
- Entrada: Representación de programa poliedral + secuencia de transformaciones
- Salida: Medición de rendimiento real en hardware (tiempo de ejecución)
- Restricciones: Todas las transformaciones deben preservar la corrección semántica
Proceso Aleatorizado Multietapa:
Generación de Estructura de Bucles:
- Decisión probabilística del número de anidamientos de bucles de nivel superior
- Construcción recursiva de la estructura de cada anidamiento
- Generación de dominios de iteración rectangulares y no rectangulares (triangulares, trapezoidales)
- Los límites de bucles pueden ser constantes o funciones de iteradores de bucles externos
Colocación y Ordenamiento de Cálculos:
- Colocación aleatoria de cálculos dentro de anidamientos de bucles
- Posibilidad de intercalar cálculos y subanidamientos en el mismo nivel
- Asignación de tipos de datos a cada cálculo (punto flotante de 32/64 bits o entero)
Generación de Accesos a Memoria y Expresiones:
- Patrones de Memoria: Creación de patrones de acceso a memoria diversificados, desde asignaciones de identidad simples hasta plantillas multidimensionales complejas (en forma de estrella, en forma de cruz) y accesos con desplazamientos constantes
- Expresiones Aritméticas: Construcción de lógica de cálculo mediante combinación aleatoria de árboles de expresiones, integrando accesos a memoria y valores escalares, utilizando operadores aritméticos comunes y funciones matemáticas
Verificaciones de Consistencia y Validación:
- Detección y prevención de trabajo trivial (bucles redundantes de cálculo, escrituras muertas, etc.)
- Garantía de que los programas sintetizados sean significativos tanto sintáctica como computacionalmente
Utilización del mecanismo de búsqueda guiada por ejecución del programador automático LOOPer para realizar búsqueda de haz, explorando secuencias prometedoras de optimizaciones poliedrales clave:
- Fusión de Bucles (Loop Fusion)
- Sesgado (Skewing)
- Intercambio (Interchange)
- Inversión (Reversal)
- División en Bloques (Tiling)
- Paralelización (Parallelization)
- Desenrollado (Unrolling)
Verificación de Legalidad: Utilización de análisis de dependencias poliedral estándar para garantizar que todas las secuencias de transformaciones preserven la corrección semántica.
- Utilización del marco del compilador Tiramisu para generar archivos ejecutables
- Ejecución en un sistema de procesador Intel Xeon E5-2695 v2 de doble zócalo
- Ejecución de cada versión de programa hasta 30 veces para garantizar la estabilidad de las mediciones
- Registro de la lista completa de tiempos de ejecución para hacer frente al ruido del sistema
- Maximización de Diversidad Estructural: Garantía de cobertura amplia de estructuras de programas mediante un proceso de generación probabilística recursiva
- Muestreo Guiado por Relevancia: Evitar la ineficiencia del muestreo aleatorio, enfocándose en secuencias de transformaciones que los compiladores reales considerarían
- Verificación Cuantitativa de Diversidad: Utilización de métodos formales como la distancia de edición de árbol normalizada para verificar la calidad del conjunto de datos
- Diseño Adaptable a Hardware: Apoyo a aprendizaje previo y transferencia de aprendizaje, reduciendo el costo de adaptación a nuevas arquitecturas
- Número Total de Programas: Aproximadamente 220,000 programas únicos
- Total de Puntos de Datos: Más de 28 millones de ejemplos etiquetados
- Programaciones por Programa: Mediana de 70
- Carga de Trabajo de Generación de Datos: Aproximadamente 71,000 horas de CPU
- Rango de Aceleración: 0.0004× a 1230×
- Arquitectura Objetivo: Sistema de procesador Intel Xeon E5-2695 v2 de doble zócalo
- Método de Medición: Ejecución de cada versión de programa hasta 30 veces, registro de distribución de tiempos de ejecución
- Similitud Estructural: Medición de similitud estructural entre programas utilizando distancia de edición de árbol normalizada (nTED)
- Comparación Comparativa: Análisis cuantitativo comparativo con el conjunto de pruebas PolyBench
- Análisis del Espacio de Características: Visualización del espacio de características de 20 dimensiones utilizando análisis de componentes principales (PCA)
Diversidad Estructural:
- El 14% de los programas contienen al menos un dominio de iteración no rectangular
- La profundidad de bucles, patrones de referencias de memoria y factor de ramificación presentan distribuciones de cola larga
- La ocupación de memoria, tiempo de ejecución de línea base y volumen total del dominio de iteración abarcan múltiples órdenes de magnitud
Distribución de Rendimiento:
- Las aceleraciones medidas presentan una distribución puntiaguda, concentrada alrededor de 1.0×
- La cola derecha demuestra la existencia de secuencias de transformaciones eficientes
- La cola izquierda captura casos de programaciones perjudiciales
Comparación con PolyBench:
- Confirmación de No Duplicación: La distancia nTED mínima nunca es cero, siendo la más similar seidel-2d (nTED=0.022)
- Espacio Estructural Más Amplio: La distancia mediana entre programas sintéticos y conjuntos de pruebas (0.537) es superior a la distancia mediana dentro de PolyBench (0.467)
- Cobertura del Espacio de Características: La visualización PCA muestra que los programas de PolyBench se encuentran dentro de la región densa de la nube de características de LOOPerSet
Comparación de Distribuciones:
- Las funciones de distribución acumulativa muestran que la distribución de distancias entre programas sintéticos y conjuntos de pruebas es consistentemente inferior a la distribución de distancias dentro de los conjuntos de pruebas
- Esto indica que LOOPerSet explora un espacio estructural más amplio y diversificado que los conjuntos de pruebas existentes
- Métodos Tradicionales: PLUTO, PolyOpt, GRAPHITE y otros métodos basados en modelos de costos analíticos
- Métodos de Aprendizaje: Programador automático de Tiramisu, TVM/Ansor, optimizador de Halide y otros métodos impulsados por datos
- Limitaciones Existentes: Falta de conjuntos de datos de rendimiento de optimización poliedral públicos a gran escala
- Recursos Relacionados: Conjuntos de datos de predicción de rendimiento de gráficos de tensores como TpuGraphs
- Conjuntos de Pruebas: Limitaciones de conjuntos de pruebas estándar como PolyBench
- Métodos Sintéticos: Aplicación de generación de programas aleatorios en investigación de compiladores
- Resolución del Cuello de Botella de Datos: LOOPerSet resuelve efectivamente el problema de escasez de datos en la investigación de optimización de compiladores poliedrales
- Garantía de Calidad: Garantía de calidad del conjunto de datos mediante análisis riguroso de diversidad y muestreo guiado por relevancia
- Recurso Comunitario: Proporciona a la comunidad de investigación una plataforma de pruebas comparativas a gran escala inmediatamente utilizable
- Especificidad de Hardware: Las etiquetas de rendimiento son específicas de la arquitectura Intel Xeon E5-2695 v2
- Limitaciones de Programas Sintéticos: Aunque diversificados, pueden no cubrir completamente todos los patrones de programas del mundo real
- Espacio de Transformaciones: Limitado a los tipos de transformaciones soportados por el sistema LOOPer
- Extensión Multiplataforma: Generación de etiquetas de rendimiento en GPU y otras microarquitecturas de CPU
- Investigación de Transferencia de Aprendizaje: Utilización del conjunto de datos para investigar generalización de cero y pocos ejemplos
- Nuevas Arquitecturas de Modelos: Exploración de nuevas arquitecturas de modelos de costos como GNN y Transformer
- Investigación de Interpretabilidad: Análisis de modos de fallo de modelos para mejorar la capacidad de generalización
- Escala Sin Precedentes: La escala de 28 millones de puntos de datos es sin precedentes en el campo
- Metodología Rigurosa: La tubería de generación multietapa y los métodos de verificación cuantitativa son científicamente rigurosos
- Alto Valor Práctico: El muestreo guiado por relevancia garantiza el valor de aplicación práctica del conjunto de datos
- Fuerte Apertura: La licencia CC-BY 4.0 y la plataforma Hugging Face garantizan fácil accesibilidad
- Reproducibilidad: Especificación detallada del formato de datos y apoyo de herramientas
- Dependencia de Arquitectura: Las etiquetas de rendimiento están limitadas a una única plataforma de hardware
- Validación Limitada: Falta de validación en aplicaciones reales
- Sesgo de Generación: Los programas sintéticos pueden presentar sesgos sistemáticos
- Cobertura de Transformaciones: Los tipos de transformaciones están limitados por el apoyo de herramientas existentes
- Contribución Académica: Proporciona infraestructura para investigación de optimización de compiladores impulsada por datos
- Valor Práctico: Reduce significativamente la barrera de entrada para nuevos investigadores
- Reproducibilidad: Promueve comparación de métodos y reproducción de resultados
- Impacto a Largo Plazo: Puede impulsar el campo hacia una dirección más impulsada por datos
- Entrenamiento de Modelos de Costos: Entrenamiento y evaluación de varios modelos de costos de aprendizaje automático
- Comparación de Arquitecturas: Pruebas comparativas de diferentes arquitecturas de modelos y métodos de caracterización
- Aprendizaje por Transferencia: Uso como conjunto de datos de preentrenamiento para apoyo de adaptación de nuevas arquitecturas
- Descubrimiento de Heurísticas: Descubrimiento de nuevas heurísticas de compiladores mediante minería de datos
- Investigación de Interpretabilidad: Análisis del comportamiento de modelos y modos de fallo
- Dirección de Acceso: https://huggingface.co/datasets/Mascinissa/LOOPerSet
- Formato de Datos: JSON Lines (.jsonl)
- Acuerdo de Licencia: Creative Commons Attribution 4.0 International (CC-BY 4.0)
- Selección de Versión:
- Versión Completa: 28 millones de puntos de datos
- Versión Compacta: 10 millones de puntos de datos (consistente con experimentos del artículo LOOPer)
El conjunto de datos LOOPerSet representa un hito importante en el campo de la investigación de optimización de compiladores poliedrales. Al proporcionar un conjunto de datos público de gran escala y alta calidad, se espera que impulse significativamente el desarrollo del campo y reduzca las barreras de investigación. Su metodología rigurosa de construcción y su enfoque de acceso abierto lo convierten en un recurso valioso para futuras investigaciones relacionadas.