Experimental Evaluation and Enhancement of Optimizations of Annotation-Based and Automatic Parallel Code Generators for GPUs

No Thumbnail Available

Date

Journal Title

Journal ISSN

Volume Title

Publisher

Saudi Digital Library

Abstract

لقد اكتسبت وحدات معالجة الرسومات الكثير من الاهتمام في الحوسبة فائقة الاداء مؤخرا. منذ ذلك الحين، تم إجراء الكثير من البحوث على صنع وتحسين نماذج اللغة التي تمكن برمجة هذه الأجهزة. وقد برز معيار OpenACC لدمج الجهد المبذول في صنع امتدادات توجيهية عالية المستوى لعدد من اللغات البرمجية المألوفة بهدف تمكين عملية برمجية سهلة لهذه الأجهزة الرسومية. وفي تغيير حدث مؤخرا على مشروع OpenACC ، أُدخلت توجيهات إضافية للسماح بإعادة استخدام مكونات المكتبات البرامجية. نظريا ، مكن ذلك من استخدام بعض المكتبات الراسخة التي تستهدف وحدات معالجة الرسومات. مع ذلك، عمليا، هناك صعوبات في استدعاء المكتبات التي تفصل بين تفاصبيل البرمجة و واجهة الاستدعاء او بشكل عام تلك التي تستخدم هياكل البيانات المخفية في واجهة الاستدعاء. في هذه الأطروحة، نقترح منهجية لتمكين استخدام مجموعة متنوعة من المكتبات البرمجية المستهدفة لوحدات معالجة الرسومات من داخل مناطق الحوسبة في OpenACC. عند تطبيق نهجنا ل CUBLAS، وهي مكتبة لأداء عمليات الجبر الخطي الأساسي، وجدنا أن نهجنا يعزز الأداء بنسبة تصل إلى ثلاثين مرة على OpenACC وحدها وحتى أعلى 2.52 أكثر من استخدام CUBLAS وحدها. وبالإضافة إلى ذلك، حققنا خفضا لحجم الرمز البرمجي وصولا الى اثنين وخمسين في المئة من الرمز الاصلي المعتمد فقط على لـ OpenACC. نهجنا ذاك يفتح الفرصة لاستدعاء تلك المكتبات مع أي تقسيمات موازية مطلوبة (thread/ block / all threads)؛ مما يلغي الحاجة لوضع نهاية لمنطقة التنفيذ الرسومي بهدف استدعاء تلك المكتبات البرمجية عن طريق وحدة المعالجة المركزية. في وحدات معالجة الرسومات، يمكن مزامنة جماعات مختلفة من الـ threads فقط من خلال معالج الأنظمة المضيف. لوحدة الرسوميات وبالتالي، فمن الممكن فقط تنفيذ المزامنة الـ مجموعات مختلفة من الthreads في الخوارزميات التكرارية من خلال تكرار اطلاق وحدات تنفيذية على وحدة المعالجة الرسومية لكل خطوة تكرارية تحتاج مزامنة. تم اقتراح بعض التقنيات لتقليل تكلفة المزامنة تلك باستخدام المتغيرات المشتركة. ومع ذلك، تبقى هذه التقنيات عرضة لانسداد الطريق. وتكون عرضة للخطأ عند تنفيذها دون الفرض الصحيح للانسجام في الذاكرة. في هذه الأطروحة، ونحن نقدم تحليلا شاملا للأسباب و والمعاملات اللمعنية في الوصول لانسداد الطريق في مثل هذه التقنيات لتزامنية، حيث نقدم الحدود العليا هش للمعاماات المعنية لتجنب انيداد الطريق في هذه التقنيات. نحن أيضا نحلل السلوك المعمول به في جدولة ال blocks المختلفة داخل وحدة الرسوميات. استنادا إلى تحليلنا ذاك، أدخلنا طريقة جديدة لتنفيذ تكرارات متزامنة أو تنفيذ أي تزامن باتجاه واحد بين منتج و مستلك، دون الحاجة للمزامنة من خلال وحدة المعالجة المركزية المضيفة ودون أن تعاني من قيود على عدد المجموعات المشاركة في الطرق الأخرى المقترحة في المواد المطبوعة. وتُظهر تحليلاتنا أن أداء أسلوبنا لديه سرعة تصل إلى حوالي 1.38 على أساليب التزامن بين المجموعات.الموجودة في المواد المطبوعة. ونقدم أيضا تحليلا للحالات والمعاملات التي ينطوي عليها حذف التزامنا لصريح المشترك مما يسبب واكتساب أداء مشابه للخوارزميات غير المتزامنة من خلال ترتيب التزامن القائم على جدولة ضمنية في مثل هذه الحالات؛ حيث نرى أيضا مكاسب تقترب من 1.8 للتطبيقات حيث المجموعات التي تعاني من عدم تساوي الحمل فيما بينها . وتبين لنا أيضا أنه بالنسبة إلى الغالبية العظمى من الحالات التي يلزم فيها التزامن الصريح، فإن المزامنة المستندة إلى المضيف هي الخيار الأفضل.

Description

Keywords

Citation

Endorsement

Review

Supplemented By

Referenced By

Copyright owned by the Saudi Digital Library (SDL) © 2025