הודעהעל ידי DrKeo » 15 ספטמבר 2018, 00:27
ירד האימבארגו חומרה על סדרה 2000 של NVIDIA. עדין אין ביקורות, הן יגיעו רק שבוע הבא אבל כן מדברים סופסוף חופשי על הארכיטקטורה. אז אפשר לזרוק פה קצת עובדות והשערות שמגיעות מ-NVIDIA.
- טיורינג יודע לעשות פעולות INT במקביל לפעולות FLOAT, הוא הכרטיס צרכנים הראשון שיודע לעשות את זה (גם VOLTA יודע אבל הוא כרטיס שרתים). ההשערה של NVIDIA שעל כל 100 פעולות FLOAT, מפתחים יעשו בערך 35 פעולות INT "בחינם" על הליבות INT במקביל. באמת שאני לא יודע לכמת את זה לביצועים כי פעולות INT הן פשוטות יותר אבל סדרה 2000 יודעת לעשות אותן ביחס של 1 ל-1, כלומר כרטיס של 14TFLOPS יודע גם לעשות 14T פעולות INT. אם היחס לדעתם הוא 1 ל-3 בשימוש של INT מול FLOAT למה הם עשו יחס של 1 ל-1 בביצועים בינהן ולא חתכו את הביצועי INT ב67%? אלוהים יודע.
- NVIDIA חושבת ש-80% מהפעולות רינדור במשחקים שתומכים בכל הפיצ'רים שיש בסדרה 2000 יגיעו מהליבות שיידרים ו-20% מכל המסביב (כלומר RT, חישובים טנסורים וכו').
- NVIDIA טוענת שצריך 10TFLOPS של GPU סטנדרטי בשביל לחשב 1 גיגה קרניים. אני מזכיר שב-2080TI יש 10 גיגה קרניים, ב-2080RTX יש 8 גיגה קרניים וב-2070RTX יש 6 גיגה קרניים.
- החומרה היעודית בליבות RT יודעת לעשות שני חישובים חומרתית, האחד הוא חיתוך עם קופסאות והשני הוא חיתוך עם משולשים. הרעיון הוא רעיון די עתיק (משנות ה-80 לדעתי) של לעטוף כל אלמנט בעולם בקופסה שבתוך קופסה שבתוך קופסה וכך הלאה עד שמכסים את כל עולם המשחק. אם נחשוב על דימוי אז אם רוצים לבדוק אם קרן פוגעת בעלה של עץ, במקום לבדוק עכשיו חיתוך עם 5 מליון עלים שרואים כרגע על המסך קודם כל בודקים אם הקרן חותכת את אחד היערות שרואים על המסך. אם היא חותכת יער אחד, מתעלמים מכל האחרים ואז בודקים אם היא חותכת אחד מהעצים באותו יער. אם היא חותכת עץ אחד אז מתעלמים מכל העצים האחרים ובודקים האם היא חותכת אחד מהעלים של אותו עץ. כלומר במקום לבדוק מליונים עלים אם לא מליארדים, בסוף בדקנו רק עלים של עץ אחד.
אז מערכת הקופסאות עובדת בצורה דומה. העולם מחולק לקופסאות וברגע שחותכים קופסה מסויימת בודקים בתוכה את התת קופסאות וכך הלאה עד שמגיעים לקופסה הכי קטנה. כשהגענו לקופסה הקטנה ביותר (המקביל לעץ בדימוי מקודם) מגיעים לחלק השני של הליבת RT, בדיקת חיתוך עם משולש. לוקחים את כל הפוליגונים שנמצאים בקופסה הקטנה (או העלים בדימוי מקודם) ביותר ובודקים אם חותכים אחד מהם. כך יצא ובדקנו חיתוך עם רק כמה עשרות פוליגונים במקום מליארדים של פוליגונים שרואים בכל רגע נתון על המסך.
- יש שיפור מאוד משמעותי ב-ASYNC COMPUTE בסדרה 2000, זה היה אחד הפוקוסים של NVIDAI בארכיטקטורה החדשה (זה גם נכון על וולטה, נראה שלא מעט מסדרה 2000 מבוסס על וולטה).
- מטמון L2 הוכפל בטיורינג מ-3MB בפסקל ל-6MB ובנוסף ה-L1 והזיכרון המשותף אוחדו יחדיו כך שאפליקציות שמשתמשות רק באחד או רק בשני יוכלו להנות מכל נפח הזיכרון בניגוד לפסקל ששם חלקים במטמון ישבו ללא שימוש כתלות באפליקציה.
- שינו את המבנה TPC לראשונה מזה שנים. פעם היו בכל TPC סך הכל 128 ליבות CUDA שנמצאות ב-SM אחד. עכשיו בכל TPC יש שני SM שבכל אחד 64 ליבות CUDA, כלומר סך הכל אותו דבר, 128 ליבות CUDA בכל TPC אבל בגלל שהן מחולקות לשני SM החלוקת זיכרון תהיה יעילה יותר (המערכת עכשיו מאפשרת לתת משקל שונה של זיכרון לכל SM כך שבמקום שיהיה 64K מטמון לכל SM, אפשר עכשיו לתת נניח ל-SM1 רק 16K ול-SM2 לתת 48K אם SM1 עושה עבודה שפחות דורשת זיכרון בזמן ש-SM2 עושה עבודה שדורשת הרבה זיכרון. בנוסף יש בכל TPC גם ליבת RT אחת, 128 ליבות INT ו-8 ליבות טנסוריות.
- אז בהמשך לנקודה קודמת, יש ב-2080TI סך הכל 68 יחידות SM עם 4352 ליבות CUDA. בנוסף יש 4352 יחידות INT ואיתן 544 ליבות טנסוריות ו-68 ליבות RT.
- בצ'יפ הממש גדול, הלא חתוך של הקוואדרו, יש 72 יחידות SM מה שאומר שיכלו להיות פה עוד 6% ליבות. המעניין הוא שגם עם 72 וגם עם 68 CM עדין NVIDIA טוענת בשני הכרטיסים ל-10 גיגה קרניים כך שה-2080 כנראה משפשף את ה10 מלמטה בזמן שהקוואדרו משפשף מלמעלה.
- דיוק כפול בזוי בדיוק כמו בדורות קודמים, כלומר מי שרוצה לעבוד מקצועית עם הכרטיסים צריך לחכות לטייטן או לשפוך אלפים על קוואדרו.
- בכל GPC יש שישה TPC, בניגוד לפסקל שבו היו חמישה.
We're just normal men. We're just innocent men