11-07-2009, 23:08
|
מנהל
|
|
חבר מתאריך: 09.10.04
הודעות: 15,910
|
|
ונסיים בדברים האלה
ציטוט:
במקור נכתב על ידי amni
הטעות המהותית היחידה בדברי למעלה היא רק במתן משקל רב מדי לגבי חוסר היכולת
לפצל בין מיספר ליבות תהליך חישובי (להלן: אלגוריתם) שהוא _סריאלי באופן מושרש_.
מה זה "סריאלי באופן מושרש" הסברתי בקצרה בתגובתי למעלה בה הזכרתי "מצב X"
(אין לי טעם לפרט יותר בעניין זה).
|
אלגוריתם סיריאלי (ואם אתה מתעקש, טורי), אכן לא ניתן למקבל, אך מאידך, ההנחה שלך שקו עלילה במשחק היא אלגוריתם טורי שאינו ניתן למקבול היא עלבון די גדול לקהילת מפתחי המשחקים שעמלים בשנים האחרונות על מיקבול הקוד שבהם ומציגים תוצאות מרשימות. במשחקים מודרניים תתקשה למצוא משחקים שאינם מסוגלים לנצל שתי ליבות.
הסיבה לכך שמעבדים מרובעי ליבות לא מועדפים על פני כפולי ליבה איננה "חוסר המיקבול" שאז, ממילא יכולנו כולנו להסתפק בליבה בודדת ולא היה לנו צורך גם בשניה.
הסיבה היא שהמיקבול שבוצע בקוד הותאם לכפולי ליבה, ולא לקח בחשבון ריבוי ליבות גבוה יותר, גם מצב זה הולך ומשתפר, ולראיה GTA IV כבר מנצל באופן מרשים מרובעי ליבה.
ציטוט:
במקור נכתב על ידי amni
לגבי עניין ההאצה של ליבה אחת אם היא היחידה שמופעלת , מה שאמרתי מדוייק.
העדפתי להשמיט בתשובתי דקויות לא-כל-כך-עקרוניות שהיו מסבכות את ניסוח התשובה
(והיו מפחידות את השואל). דיברתי שם רק על ליבה פעילה אינטנסיבית _אחת_
כי זו הסיטואציה הרווחת במשחקים גרפיים שאינם משתמשים בכל הליבות בזמן המישחק.
כמובן, כאשר אמרתי "אוטומטי" כוונתי הייתה ששינוי MODE הפעולה של ליבה
נעשה על ידי מערכת ההפעלה וה- BIOS (לא ביוזמת המשתמש),
זה צריך להיות מובן מהקונטקסט. גם לא ראיתי יתרון בניסוח שבו אכנס לפרטים על
התנאים והאופן שבו ההפעלה האוטומטית מבוצעת (כל המוסיף --- גורע).
|
בפירוש לא נכון, כל משחק מודרני, כפי שהסברתי בחלק הקודם של תגובתי, מנצל יפה מאוד 2 ליבות, ללמדך שלפי הטיעון שהעלית תכונת הטורבו כנראה מעולם לא הייתה מופעלת.
הטיעון כל המוסיף גרוע תקף כשאתה מסביר את הבסיס ולא מרחיב מעליו, כשאתה מסביר את הבסיס בצורה חלקית אתה גורם להבנה שגויה של הקורא, ובכך מעורר בעיקר בלבול, במצב הזה, כל המרבה הרי זה משובח.
ציטוט:
במקור נכתב על ידי amni
לגבי החשיבות של הפרלליזציה (כלומר: MULTI THREADING) בהקשר להאצת
משחקים גרפיים, הדבר מוכר היטב ואין עליו שום וויכוח. חפש בגוגל.
אלא מה ? הפרלליזציה נעשית (אם נעשית) בדברים אותם _לא_ הזכרתי כגון:
יצירת פתילים ניפרדים לגרפיקה, פתילים לסימולציה פיסיקלית וכנראה עוד דברים.
בשעה שכתבתי את התשובה לא רציתי לשבת שעה שלמה לפחות
כדי לתת תשובה למהדרין, לכן נתתי תשובה חלקית שניראתה לי תשובה הולמת לפותח הפתיל.
אילו הייתי כותב מחדש את תשובתי הראשונה הייתי רק קובע כעובדה
שמישחקים רבים (במיוחד הישנים) משתמשים בליבה אחת בלבד בלי לתת נימוקים למה זה המצב,
הבאת נימוקים בפורום זה הייתה מישגה כי זה גרם לוויכוחי סרק (לדעתי).
|
הטיעון הנכון הוא כנראה שמשחקים ישנים בלבד לא מנצלים יותר מליבה אחת. מכאן ועד הבלאגן שיצרת בתגובתך הראשונה יש מרחק גדול מאוד.
ציטוט:
במקור נכתב על ידי amni
הפתילים הגרפיים נעשים (בעיקר) על המעבדים הגרפיים לכן לליבות של המעבד
המרכזי _אין תפקיד חשוב_ בעניין הגרפיקה. המעבדים הגרפיים יכולים לעשות פרלליזציה
של החישוב אם יש עליהם יותר ממעבד גרפי אחד (השיטה המקובלת לפרלליזציה כזו
ניקראת SLI).
|
מי לדעתך מכין את המידע שנדרש לחישובי המעבד הגרפי? מי מעדכן עבורו את המידע? הגיון בריא יכול להספיק כדי להסיק שברגע שמפנים פתיל (נים, THREAD) ייעודי לנושא הגרפיקה, כנראה שסיבה היא עומס מספיק על המעבד כך שלטובת ביצועי המערכת רצוי לאפשר לו לרוץ במקביל לשאר פעולות העיבוד במשחק.
בניגוד למשתמע מתגובתך , SLI איננה "שיטה מקובלת למיקבול עיבוד גרפי", רצוי שתציץ בעוגן הגדרות חומרה לפני שאתה מוסיף חטא על פשע. לטובת קוראי האשכול - SLI היא שיטת מיקבול קניינית של NVIDIA, המקבילה שלה מצד AMD מכונה CROSSFIRE, וקיימים כבר סטנדרטים שאינם קנייניים של אחת החברות שמיועדים להפוך את מיקבול העיבוד לסטנדרטי יותר, לדוגמא OpenCL.
ציטוט:
במקור נכתב על ידי amni
לבסוף. יש מישחקים שיכולים לנצל ריבוי ליבות והם אינם עושים כך משום שזה
מסובך.
|
בהמשך לתגובתי לחלק הקודם, הטיעון "זה מסובך" הוא טיעון רע מאוד (ואפשר להשתמש במילים חריפות יותר, אבל נסתפק ברע), בהינתן סביבות העבודה וה SDK הזמינים לפיתוח מקבילי.
_____________________________________
הראל
נערך לאחרונה ע"י rlsf בתאריך 11-07-2009 בשעה 23:14.
|