RT-CUDA: A Software Tool for CUDA Code Restructuring
No Thumbnail Available
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Saudi Digital Library
Abstract
التطورات الأخيرة في وحدات معالجة الرسوميات قد فتحت تحديا جديدا في تسخير قوة الحوسبة كنموذج للحواسب ذو التطبيقات العامة باستخدام لغة البرمجة المتوازية الخاصة بها CUDA. لكن ، كتابة البرامج باستخدام CUDA يبقى تحديا للمبرمج العادي. في هذه الرسالة ، طورنا برمجية مفسرة معاد تأهيلها (RT-CUDA) مع أفضل التحسينات الممكنة للنواة لسد الفجوة بين لغات البرمجة عالية المستوى وبيئة CUDA التي تعتمد على طبيعة الآلة التي تعمل عليها. يعتمد RT-CUDA على مجموعة مـن التحسينات في المفسر. يقوم RT-CUDA بتحويل البرامج العادية والمكتوبة مثلا بلغة C إلى نواة CUDA محسنة مع الأخذ بالاعتبار توجيهات المستخدم لإرشاد المفسر. وبينما يعتبر استدعاء libraries مستحيلا مع OpenACC ، يسمح RT-CUDA باستدعاء واستخدام أفضل الـ libraries الخارجية للرياضيات مثل cuSparse و cuBLAS.لأجل ذلك ، RT-CUDA يستخدم بعض API’s للتواصل ، معالجة الأخطاء ويسمح أيضا ببرمجة واضحة وشفافة للمستخدم والذي بدوره يمكّن مـن تصميم أدوات لحل الجبر الخطي بشكل فعال. تم تقييم RT-CUDA باستخدام معالج الرسوميات Tesla K20 مع مجموعة متنوعة مـن عمليات الجبر الخطي مثل (M+, MM, MV, VV) وغيرها وأيضا برمجة أدوات لحل نظام مـن المعادلات الخطية مثل Jacobi و Conjugate Gradient. وفي الحقيقة لقد حصلنا على زيادة في السرعة بشكل كبير جدا مقارنة بمفسر OpenACC ومفسر GPGPU أيضا. يقوم RT-CUDA بتسهيل تصميم البرمجيات المتوازية لتطوير برامج محاكاة متوازية مثل ( محاكاة آبار النفط ، الديناميكية الجزيئية وغيرها والتي تعتبر تطبيقات مهمة جدا في صناعة النفط والغاز في المملكة العربية السعودية. نحن نتوقع أن يكون هناك طلب كبير على RT-CUDA مـن مجالات الصناعة في السعودية التي تتعامل مع محاكاة التطبيقات العملية والهندسية على أجهزة الحاسب المتوازية الكثيفة مثل معالجات الرسوميات الخاص بـ NVIDIA.