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- معرّف الورقة: 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 منها مورداً قيماً لتدريب وتقييم نماذج التكلفة المتعلمة، وقياس معماريات النماذج الجديدة، واستكشاف حدود الجدولة متعددة الأوجه الآلية.
يوفر النموذج متعدد الأوجه إطار عمل قوي للتعبير عن تطبيق تحويلات الحلقات المعقدة، وهو أمر حاسم لتحسين التطبيقات الحسابية العلمية والعالية الأداء. ومع ذلك، يكمن التحدي الرئيسي في كيفية التنقل في فضاء البحث الضخم للتحويلات القانونية والعثور على تسلسل التحويلات الذي يوفر أفضل أداء على الهدف الحديدي المعطى.
- قيود الطرق التقليدية: نماذج التكلفة التحليلية والطرق الاستكشافية الموجودة، على الرغم من عموميتها وقابليتها للمعالجة، تواجه صعوبة في التقاط التفاعلات غير الخطية الدقيقة بين التحسين والنظام الأساسي
- إمكانات الطرق المدفوعة بالبيانات: يمكن لطرق التعلم الآلي، من خلال التدريب على كميات كبيرة من بيانات الأداء، تطوير فهم أكثر دقة لفعالية التحويلات على الأجهزة الحقيقية
- اختناق ندرة البيانات: يقيد الافتقار إلى مجموعات بيانات أداء عامة كبيرة بشكل خطير البحث في تحسين المترجم المدفوع بالبيانات
- تكلفة توليد البيانات العالية: تحتاج فرق البحث إلى إجراء أنشطة توليد بيانات مكلفة وتستغرق وقتاً طويلاً
- قابلية التكرار الضعيفة: يعيق الافتقار إلى مجموعة بيانات عامة المقارنة الصارمة للطرق
- ارتفاع حاجز الدخول للبحث: تعيق تكاليف جمع البيانات العالية المساهمين المحتملين من دخول المجال
- مجموعة بيانات عامة واسعة النطاق: بناء مجموعة بيانات LOOPerSet تحتوي على 28 مليون نقطة بيانات مصنفة، مستمدة من 220 ألف برنامج متعدد الأوجه فريد
- ضمان التنوع: ضمان التنوع الهيكلي من خلال مولد برامج عشوائي متعدد المراحل، تجنب الانحياز نحو معايير قياسية محددة
- أخذ العينات الموجه بالصلة: اعتماد استراتيجية أخذ عينات فضاء التحويل الموجهة بالصلة، مما يضمن أن مجموعة البيانات تحتوي على تسلسلات تحسين مفيدة فعلياً
- التحقق الصارم: التحقق من تنوع وجدة مجموعة البيانات من خلال طرق كمية مثل مسافة تحرير الشجرة المعيارية
- الوصول المفتوح: الإفراج عنها بموجب ترخيص متساهل، لتعزيز البحث القابل للتكرار وخفض حاجز الدخول لتحسين المترجم المدفوع بالبيانات
بناء مجموعة بيانات واسعة النطاق ومتنوعة، حيث تحتوي كل نقطة بيانات على:
- الإدخال: تمثيل برنامج متعدد الأوجه + تسلسل تحويلات
- الإخراج: قياس الأداء الحقيقي على الأجهزة (وقت التنفيذ)
- القيود: يجب أن تحافظ جميع التحويلات على صحة الدلالات
عملية عشوائية متعددة المراحل:
توليد هيكل الحلقة:
- قرار احتمالي لعدد تداخلات الحلقات على المستوى الأعلى
- بناء الهيكل بشكل متكرر لكل تداخل
- توليد مجالات تكرار مستطيلة وغير مستطيلة (مثلثة، شبه منحرفة)
- يمكن أن تكون حدود الحلقة ثوابت أو دوال من مكررات الحلقة الخارجية
وضع الحسابات والترتيب:
- وضع عشوائي للحسابات في تداخلات الحلقة
- يمكن تشابك الحسابات والتداخلات الفرعية على نفس المستوى
- تعيين أنواع بيانات لكل حساب (32/64 بت عائم أو عدد صحيح)
توليد أنماط الوصول للذاكرة والتعبيرات:
- أنماط الذاكرة: إنشاء أنماط وصول متنوعة للذاكرة، من التعيينات البسيطة إلى القوالب متعددة الأبعاد المعقدة (نجمية، صليبية) والوصول بإزاحات ثابتة
- التعبيرات الحسابية: بناء منطق الحسابات من خلال الجمع العشوائي لأشجار التعبيرات، مع دمج الوصول للذاكرة والقيم العددية، باستخدام عوامل حسابية شائعة ودوال رياضية
فحوصات الاتساق والتحقق:
- كشف ومنع العمل التافه (حلقات حسابية زائدة، كتابات ميتة، إلخ)
- ضمان أن البرامج الاصطناعية ذات معنى من الناحية النحوية والحسابية
استخدام آلية البحث الموجهة بالتنفيذ لمجدول LOOPer الآلي لإجراء بحث شعاعي، لاستكشاف تسلسلات واعدة من تحسينات متعددة الأوجه رئيسية:
- دمج الحلقات (Loop Fusion)
- الانحراف (Skewing)
- التبديل (Interchange)
- الانعكاس (Reversal)
- التقسيم (Tiling)
- المعالجة المتوازية (Parallelization)
- الفتح (Unrolling)
التحقق من القانونية: استخدام تحليل الاعتماد متعدد الأوجه القياسي لضمان أن جميع تسلسلات التحويل تحافظ على صحة الدلالات.
- استخدام إطار عمل مترجم Tiramisu لتوليد الملفات القابلة للتنفيذ
- التنفيذ على نظام معالج Intel Xeon E5-2695 v2 ثنائي المقبس
- تنفيذ كل إصدار برنامج حتى 30 مرة لضمان استقرار القياس
- تسجيل قائمة أوقات التنفيذ الكاملة للتعامل مع ضوضاء النظام
- تعظيم التنوع الهيكلي: ضمان تغطية واسعة لهياكل البرامج من خلال عملية توليد احتمالية متكررة
- أخذ العينات الموجه بالصلة: تجنب عدم كفاءة أخذ العينات العشوائي، التركيز على تسلسلات التحويل التي يعتبرها المترجم فعلياً
- التحقق الكمي من التنوع: استخدام طرق رسمية مثل مسافة تحرير الشجرة المعيارية للتحقق من جودة مجموعة البيانات
- التصميم المتوافق مع الأجهزة: دعم التدريب المسبق والتعلم بالنقل، مما يقلل تكاليف التكيف مع الهندسة المعمارية الجديدة
- إجمالي عدد البرامج: حوالي 220 ألف برنامج فريد
- إجمالي نقاط البيانات: أكثر من 28 مليون عينة مصنفة
- عدد الجداول لكل برنامج: الوسيط 70
- حجم عمل توليد البيانات: حوالي 71 ألف ساعة CPU
- نطاق التسريع: من 0.0004× إلى 1230×
- الهندسة المعمارية المستهدفة: نظام معالج Intel Xeon E5-2695 v2 ثنائي المقبس
- طريقة القياس: تنفيذ كل إصدار برنامج حتى 30 مرة، تسجيل توزيع أوقات التنفيذ
- التشابه الهيكلي: قياس التشابه الهيكلي بين البرامج باستخدام مسافة تحرير الشجرة المعيارية (nTED)
- المقارنة المعيارية: تحليل مقارنة كمي مع مجموعة PolyBench
- تحليل فضاء الميزات: استخدام تحليل المكونات الرئيسية (PCA) لتصور فضاء الميزات ذي 20 بعداً
التنوع الهيكلي:
- 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
- طرق التركيب: تطبيق توليد البرامج العشوائي في بحث المترجمات
- حل اختناق البيانات: تحل LOOPerSet بفعالية مشكلة ندرة البيانات في بحث تحسين المترجم متعدد الأوجه
- ضمان الجودة: ضمان جودة مجموعة البيانات من خلال تحليل تنوع صارم وأخذ عينات موجه بالصلة
- مورد المجتمع: توفير منصة معايير كبيرة الحجم قابلة للاستخدام الفوري لمجتمع البحث
- خصوصية الأجهزة: تسميات الأداء خاصة بهندسة معمارية Intel Xeon E5-2695 v2
- قيود البرامج الاصطناعية: على الرغم من التنوع، قد لا تغطي بالكامل جميع أنماط البرامج الحقيقية
- فضاء التحويل: مقيد بأنواع التحويلات التي يدعمها نظام LOOPer
- التوسع عبر الهندسات المعمارية: توليد تسميات الأداء على GPU والهندسات المعمارية CPU الأخرى
- بحث التعلم بالنقل: الاستفادة من مجموعة البيانات لدراسة التعميم بدون عينات أو بعينات قليلة
- معماريات النماذج الجديدة: استكشاف معماريات نماذج جديدة مثل GNN و Transformer
- بحث القابلية للتفسير: تحليل أنماط فشل النموذج، تحسين القدرة على التعميم
- حجم غير مسبوق: حجم 28 مليون نقطة بيانات غير مسبوق في هذا المجال
- منهجية صارمة: خط أنابيب توليد متعدد المراحل وطرق التحقق الكمية علمية وصارمة
- قيمة عملية عالية: يضمن أخذ العينات الموجه بالصلة القيمة التطبيقية الفعلية لمجموعة البيانات
- قوة الانفتاح: ترخيص CC-BY 4.0 ومنصة Hugging Face تضمن سهولة الوصول
- القابلية للتكرار: توثيق تفصيلي لتنسيق البيانات ودعم الأدوات
- الاعتماد على الهندسة المعمارية: تسميات الأداء مقيدة بمنصة أجهزة واحدة
- التحقق المحدود: الافتقار إلى التحقق في التطبيقات الحقيقية
- انحياز التوليد: قد تحتوي البرامج الاصطناعية على انحيازات منهجية
- تغطية التحويل: أنواع التحويل مقيدة بدعم الأدوات الموجودة
- المساهمة الأكاديمية: توفير البنية التحتية لبحث تحسين المترجم المدفوع بالبيانات
- القيمة العملية: تقليل كبير في حاجز الدخول للباحثين الجدد
- القابلية للتكرار: تعزيز مقارنة الطرق وإعادة إنتاج النتائج
- التأثير طويل الأمد: قد يدفع المجال نحو اتجاه أكثر قيادة بالبيانات
- تدريب نماذج التكلفة: تدريب وتقييم نماذج التعلم الآلي المختلفة لنماذج التكلفة
- مقارنة الهندسات المعمارية: قياس معماريات نماذج مختلفة وطرق الميزات
- التعلم بالنقل: بمثابة مجموعة بيانات تدريب مسبق لدعم تكيف الهندسة المعمارية الجديدة
- اكتشاف الاستكشافات: اكتشاف استكشافات مترجم جديدة من خلال التنقيب عن البيانات
- بحث القابلية للتفسير: تحليل سلوك النموذج وأنماط الفشل
- عنوان الوصول: https://huggingface.co/datasets/Mascinissa/LOOPerSet
- تنسيق البيانات: JSON Lines (.jsonl)
- اتفاقية الترخيص: Creative Commons Attribution 4.0 International (CC-BY 4.0)
- خيارات الإصدار:
- الإصدار الكامل: 28 مليون نقطة بيانات
- الإصدار المختصر: 10 ملايين نقطة بيانات (متسق مع تجارب ورقة LOOPer)
تمثل مجموعة بيانات LOOPerSet علامة فارقة مهمة في مجال بحث تحسين المترجم متعدد الأوجه. من خلال توفير مجموعة بيانات عامة كبيرة الحجم وعالية الجودة، من المتوقع أن تدفع بشكل كبير تطور هذا المجال وتخفض حاجز الدخول للبحث. تجعل طريقة البناء الصارمة وطريقة الوصول المفتوحة منها مورداً قيماً للبحث المستقبلي ذي الصلة.