הורד מצגת
המצגת נטענת. אנא המתן
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
ממשק משתמש גרפי ממשק שמציג התקדמות בזמן אמת הממשק שומר את התוצאות
מצגות קשורות
© 2024 SlidePlayer.co.il Inc.
All rights reserved.