CUDA OPTIMIZATION OF A CLASS OF ITERATIVE LINEAR ALGEBRA SOLVERS

CUDA OPTIMIZATION OF A CLASS OF ITERATIVE LINEAR ALGEBRA SOLVERS. Masters thesis, King Fahd University of Petroleum and Minerals.

[img]
Preview
PDF
g201402840-Lutfi_Aziz_Firdaus-Thesis.pdf

Download (8MB) | Preview

Arabic Abstract

تركز الحوسبة العلمية الحديثة على تطوير التطبيقات باستخدام وحدة معالجة الرسومات (GPU) بسبب التطور السريع في قوة الحوسبة وانخفاض سعر المسرعات المتوازية بشكل كبير. التطور في عمارة الحاسب الناشئة مدعوم أيضا من لغات برمجة متطورة مثل معمارية حوسبة الاجهزة الموحدة (كودا) (CUDA) الصادرة عن نيفيديا. الاجزاء المسؤولة عن العمليات الحسابية المتوازية المتوفرة في وحدات معالجة الرسومات تتجاوز إلى حد كبير تلك المتوفرة في وحدة المعالجة المركزية متعددة النواة. تعتمد عمليات المحاكاة العلمية بشكل كبير على الطريقة التكرارية في حل معادلات الجبر الخطي (ILAS). (ILAS) هي واحدة من الخوارزميات التي يمكن أن تستغل هذا التوازي الضخم المقدم من وحدة معالجة الرسومات التي تقدمها وحدة معالجة الرسومات للاغراض العامة لتسريع المحاكاة العلمية. طريقة المرافق الثنائي المتدرج الثابت BiCGStab هوحل عام نسبيا لحل المعادلات الخطية للانظمة الخفيفة. اختيارنا طريقة المرافق الثنائي المتدرج الثابت BiCGStab في هذه الأطروحة لحل ينفذ على محاكاة الخزانات المائية الكامنة. خصائص المصفوفات المرتبطة بمحاكاة الخزانات المائية الكامنة تسمح بتحديد نمط وخصائص المصفوفة أعلاه. المصفوفة العامة السباعية الشبه صفرية تمثل نمط مصفوفة المحاكاة للخزانات المائية الكامنة. المصفوفة السباعية يجب التعامل معها بشكل فعال وكفء وخاصة بالنسبة لعمليات الضرب بين المصفوفة والمتجه الشبه صفري (SpMV) والتي تأخذ معظم الوقت الحسابي في المحاكاة. لتحسين واستغلال التخزين، اقترحنا في هذا العمل صيغة جديدة لتخزين المصفوفة الشبه صفرية يسمى المصفوفة السباعية القطرية القاطاعات(BDIA-GH) لتسريع عمليات الضرب بين المصفوفة والمتجه الشبه صفري (SpMV). التقييم اوضح أن سرعة استخدام المصفوفة السباعية القطرية القاطاعات BDIA-GH لحل عمليات الضرب بين المصفوفة والمتجه الشبه صفري على وحدة المعالجة الرسومية الواحدة يصل إلى ثلاثة اضعاف مقارنة مع غيرها من طرق التخزين مثل ضغط التخزين المعتمد على الصف CSR ، 2.8 اضعاف مقارنة بضغط التخزين المعتمد على قطاعات الصف BSR ، و 1.4 مقارنة ب صيغة الخليط HYB . تحسين عمليات الضرب بين المصفوفة والمتجه الشبه صفري (SpMV) ، يؤدي إلى تحسين طريقة المرافق الثنائي المتدرج الثابت BiCGStab على وحدة معالجة رسومية واحدة ب 2.64 ضعف على ضغط التخزين المعتمد على الصف CSR، 2.4 اضعاف مقارنة بضغط التخزين المعتمد على قطاعات الصف BSR ، و 1.35 مقارنة ب صيغة الخليط HYB . مع تعدد وحدات المعالجة الرسومية، عمليات الضرب بين المصفوفة والمتجه الشبه صفري (SpMV) وتتناسب بشكل مناسب جدا. التسريع يصل الى 2 باستخدام وحدتي معالجة رسومية مقارنة بوحدة معالجة رسومية واحدة، و 3.97 ل 4 وحدات معالجة الرسومات، و 7.97 ل 8 وحدات معالجة الرسومات. طريقة المرافق الثنائي المتدرج الثابت BiCGStab على وحدات معالجة رسومية متعددة اقترحت ايضا كنهج جديد لتحسين أداء الحوسبة. ليصل الى 1.88 ضعف باستخدام وحدتي معالجة رسومات مقارنة بوحدة معالجة رسومية، و 3.28 باستخدام 4 وحدات معالجة الرسومات، و 4.38 باستخدام 8 وحدات معالجة رسومات. ويسهم هذا العمل في تطوير وتحسين عمليات الضرب بين المصفوفة والمتجه الشبه صفري (SpMV) و طريقة المرافق الثنائي المتدرج الثابت BiCGStab لمحاكاة الخزانات المائية الكامنة على المعالجات متعددة النواة.

English Abstract

Modern scientific computing focuses on developing applications using GPU (Graphics Processing Unit) because of the rapid growth in computing power and drop in the price of massively parallel accelerators. The growth in emerging architectures is also supported with powerful programming languages like the Compute Unified Device Architecture (CUDA) released by NVIDIA. The abundant parallel arithmetic hardware in GPUs largely exceeds that available with multi-core CPU (Central Processing Unit). Science simulations heavily depend on Iterative linear algebra solvers (ILAS). ILAS is one of the algorithms that could exploit this GPU massive parallelism provided by GPGPU (General Purpose Graphics Processing Unit) to accelerate science simulation. BiCGStab (Biconjugate Gradient Stabilized) is a relatively general solver for solving sparse systems of linear equations. BiCGstab is selected on this thesis to solve on implementing the reservoir simulation. The characteristic matrices that come from reservoir simulation allow defining the pattern and properties of the above matrix. The General Hepta (GH) sparse matrix is found to be the matrix pattern for reservoir simulation. GH must be handled effectively and efficiently especially for Sparse Matrix-Vector Multiplication (SpMV) that takes most of the computation time in the simulation. To optimize the storage, a new sparse matrix storage format called Block Diagonal General Hepta (BDIA-GH) is proposed in this work to accelerate the corresponding SpMV. Evaluation shows that the speedup of using BDIA-GH in the SpMV on single GPU is up to 3.0 compared to other storages like CSR (Compressed Storage Row) format, 2.8 compared to BSR (Block Compressed Storage Row) format, and 1.4 compared to HYB format. The optimization of SpMV, leads to the improvement on BiCGStab on a single GPU by 2.64 speedup over CSR, 2.4 over BSR, and 1.35 over HYB. With multi-GPU, the SpMV almost scaled perfectly. Speedup of 2 is gained by 2 GPUs over single GPU, 3.97 for 4 GPUs, and 7.97 for 8 GPUs. Multi-GPU BiCGStab also proposed as a novel approach to improve the computing performance. Speedup with 1.88 factor gained by using 2 GPUs over single GPU, and 3.28 by using 4 GPUs, and 4.38 by using 8 GPUs. This work contributes to development of scalable SpMV and BiCGstab for reservoir simulation on many-core.

Item Type: Thesis (Masters)
Subjects: Computer
Engineering
Department: College of Computing and Mathematics > Computer Engineering
Committee Advisor: Al-Mouhamed, Mayez
Committee Members: Elrabaa, Muhammad and Mudawar, Muhamed
Depositing User: LUTFI FIRDAUS (g201402840)
Date Deposited: 11 Jul 2017 10:15
Last Modified: 31 Dec 2020 09:00
URI: http://eprints.kfupm.edu.sa/id/eprint/140392