עבור לתוכן

ניצול Q6600 ב-Matlab 7 לא עובר את ה-25%

Featured Replies

פורסם

Matlab 7.6.0 - R2008a, ישנה תמיכה בריבוי ליבות, האופציה פעילה ועומדת על 4 threads

אז ככה, אין לי מושג ב-Matlab, אחי ואבי כותבים שם איזו תוכנה לחישוב מרחק מקסימאלי ומרחק בטוח לפגיעת רסיסים כתוצאה מפיצוץ מבנה.

התוכנה בעקרון מבצעת חישובים פשוטים יחסית - לולאות \ מטריצות...

הם מריצים את התוכנה על המחשב שלי, רואים שישנה חלוקה על הליבות אך ניצול המעבד הכולל לא עובר את ה-25%.

השאלה שלי, מה צריך לעשות ע"מ לנצל את כל כוח העיבוד ? בתאוריה יכול לקצר את זמן ההרצה פי 4.

תודה מראש.

פורסם

בעיקרון

אם הם יחלקו את הפעולה שהם עושים בקוד תכנות עצמו ל threads ההיפר טרדינג של המעבד שלך(במקרה וזה אינטל) או לא משנה מה

התמיכה בריבוי ליבות תפעל

כל עוד הם מריצים הכול על ט'ראד אחד

שום דבר לא ינוצל חוץת מליבה אחת

פורסם
  • מחבר

אוקיי... איך הם אמורים לחלק ל-threads ? (תיאורטית\מעשית)

בגדול, מה שאני רואה בקוד זו לולאה ראשית, בתוכה עוד כמה לולאות וחישובים.

אם אני מעלה למשל 4 פעמים את matlab ומריץ בכל session את התוכנה, לבסוף לוקח את 4 התשובות המומצעות ועושה ממוצע ביניהם -

הכל טוב ויפה - ניצלתי 4 ליבות, התוצאה מתקבלת וקיצרתי זמנים משמעותית.

העניין הוא שאני רוצה שזה ירוץ פעם אחת \ תוכנה אחת \ תוצאה אחת, בשימוש כל 4 הליבות.

חשוב לי שהפלט יראה כמה פעמים הלולאה רצה באמת, ולא איזו קומבינה שלי מאחורי הקלעים.

פורסם

ל-MATLAB יש מימוש מקבילי להרבה פעולות בסיסיות, אבל אם אתה עושה פעולות כגון לולאות אז הוא לא מצליח למקבל את העבודה באופן יעיל. אני מניח שכדאי שתעבוד יותר באופן וקטורי? אני לא ממש מומחה.

זה אולי יעזור:

http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/rn/bq1zi27-1.html&http://blogs.mathworks.com/loren/2007/03/01/r2007a-released/#bq4c6fx-1

http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=13775&objectType=File

וזה עולה כסף, אבל גם אולי יעזור: http://www.mathworks.com/products/distribtb/

פורסם
  • מחבר

תודה על הקישורים, בהם עדיין לא נתקלתי ...

אני כבר יחקור את העניין.

פורסם

קרא פה: http://tinyurl.com/yq326l

מטלב בבסיסה אינה "מרובת-נימים" ויש צורך בכתיבה מיוחדת ושימוש ב-TOOLBOX מתאימים כדי לעשות שימוש בריבוי ליבות. גם אז השיפור בביצועים לא מובטח. אם תעלה את הקוד ניתן להמליץ לך איך לשפר אותו אבל הדבר הראשון הוא בהחלט לעבוד וקטורית וללא לולאות/רקורסיה וכדומה.

פורסם

קרא פה: http://tinyurl.com/yq326l

מטלב בבסיסה אינה "מרובת-נימים" ויש צורך בכתיבה מיוחדת ושימוש ב-TOOLBOX מתאימים כדי לעשות שימוש בריבוי ליבות. גם אז השיפור בביצועים לא מובטח. אם תעלה את הקוד ניתן להמליץ לך איך לשפר אותו אבל הדבר הראשון הוא בהחלט לעבוד וקטורית וללא לולאות/רקורסיה וכדומה.

אמת

אם תרצה לשפר את אופן הרצת התוכנה

זה יעלה בשינוי הקוד מקור

בעיקר לעבוד ווקטורית ובלי לולאות

פורסם

זה בדיוק עובד כך.

הפונקצית שאתה משתמש ב MAT LAB הם אלה שיעבדו במקביל ולא התוכנה שלך.

כגון עבודה ב FFT

פורסם
  • מחבר

אוקי הבנתי, תודה על התגובות.

לצערי אני לא יכול לפרסם את הקוד ע"מ לקבל עזרה (עבודה של האבא, אותו פחות מעניין עניין ניצול הליבות, וזמן לא חסר לו)

האמת שיוצא לו להשתמש בזה פעם בשנה בערך, ככה שזה לא נורא.

אם יצא לי לעבוד עם Matlab בעתיד, לפחות אני ידע מה צריך להעשות בנידון.

:xyxthumbs:

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים