KHAN AYAZ UL HASSAN2022-05-182022-05-183585https://drepo.sdl.edu.sa/handle/20.500.14154/1895التطورات الأخيرة في وحدات معالجة الرسوميات قد فتحت تحديا جديدا في تسخير قوة الحوسبة كنموذج للحواسب ذو التطبيقات العامة باستخدام لغة البرمجة المتوازية الخاصة بها 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.enRT-CUDA: A Software Tool for CUDA Code RestructuringThesis