המצגת נטענת. אנא המתן

המצגת נטענת. אנא המתן

Solving Simultaneous Linear Equations Using GPU

מצגות קשורות


מצגת בנושא: "Solving Simultaneous Linear Equations Using GPU"— תמליל מצגת:

1 Solving Simultaneous Linear Equations Using GPU
Supervisor: Javier Turek* and Yaron Honen Students: Oriel Rosen and Haviv Cohen

2 הבעיה: Ax=b השיטות הנפוצות (במחשב) מתחלקות לישירות ולאיטרטיביות
השיטות הנפוצות (במחשב) מתחלקות לישירות ולאיטרטיביות ישנה בעיית סקלאביליות בנוסף, אנחנו מתעסקים עם A דלילה נפתח את שיטת ה- Conjugate gradients...

3 Gradient Descent(1) x* נגדיר
נחפש את המינימום, בו יתקיים: (ובהכרח יתקיים גם Ax=b) x*

4 Gradient Descent(2) נעשה זאת בשיטה איטרטיבית: כיוון עלייה מירבית
גודל צעד כיוון עלייה מירבית

5 Gradient Descent(3) מתי נעצור? – לפי , כאשר (בדיוק מסוים), יתקיים גם , כלומר שהגענו לנקודת המינימום אבל לשיטה יש בעיית התכנסות- "זיגזגים"..

6 Conjugate Gradients(1)
סימטרית Positive definite ( ) ומכך נובע ש: כל הע"ע חיוביים A הפיכה אין נקודות אוכף

7 Conjugate Gradients(2)
הווקטורים u, v הם Conjugate ביחס ל- A אם: החידוש: נסתכל על "מה שחסר" כדי להגיע מ- A_ ל- b. נסמן: נחשב את כיוון הירידה ע"י , אך ללא הכיוונים הקודמים { }:

8 Conjugate Gradients(3)
Gradient descent Conjugate gradients

9 Conjugate Gradients(4)- The algorithm

10 Mex function (c++ code)
המשימה שלנו המשימה שלנו הייתה לכתוב פונקציית mex (שנקראת ממטלב) ש: מקבלת את A (sparse), B ופרמטרים נוספים מבצעת את Conjugate gradients, ב- GPU מחזירה את הפתרון- X A, B X Mex function (c++ code) x0...xn A, b0…bn

11 מהלך העבודה למידה של Mex כתיבת הקוד עם קריאות ה- cuda
הוספת יכולות מדידת זמנים הכנת ממשק משתמש גראפי

12 ביצועים להלן גרף המתאר את זמן הריצה ב- GPU (התוכנית שלנו) לעומת ב- CPU, בתלות באורך המטריצה (כאשר ל- B יש 16 עמודות) GPU 1-CPU 4-CPUs 2^10 3^10 4^10 5^10

13 חלוקת זמנים(1)

14 חלוקת זמנים(2)- מסקנות במטריצה גדולה: במטריצה קשה:
כפל מטריצה בווקטור לוקח את הרוב המוחלט של החישוב ה"בקרה" וההעתקות כבדים יותר במטריצה קשה: מתבצעות איטרציות רבות, אך אף חלק של החישוב אינו כבד במיוחד ביחס לאחרים

15 קשיים והתמודדיות למדנו: התאמת סביבת העבודה
תיאוריה Cuda Mex ייצוג מטריצות דלילות התאמת סביבת העבודה קריאות אסינכרוניות לצורך מדידת זמנים Memcopy

16 Mex function (c++ code)
אופטימיזציה לחשב CG, ובמקביל להעביר את עמודות B שעליהן יתבצע חישוב עתידי כך ניתן להוריד את זמן העתקות הזיכרון Mex function (c++ code) A b1 b2 x1

17 ממשק משתמש גרפי ממשק שמציג התקדמות בזמן אמת הממשק שומר את התוצאות


הורד את "ppt "Solving Simultaneous Linear Equations Using GPU

מצגות קשורות


מודעות Google