WEBVTT 00:00:00.000 --> 00:00:02.100 זה התחיל בהזהרה, ואז שקט. 00:00:02.260 --> 00:00:05.080 חשבון ה-GPU עלה כאילו המעיץ לא ישן מעולם. 00:00:05.360 --> 00:00:07.420 ובכל זאת התפוקות זחלו כאילו האורות קבו. 00:00:07.540 --> 00:00:10.040 לוחות המכוונים היו ירוקים, הלקוחות לא. 00:00:10.200 --> 00:00:11.720 החריגה לא התאים על התמונה. 00:00:11.920 --> 00:00:15.040 ניצול GPU קרוב לאפס בזמן שהשהיה זינקה. 00:00:15.180 --> 00:00:18.640 לא הופעלו התראות, לא היו קווים אדומים, רק זמן שהתעדה. 00:00:18.760 --> 00:00:22.060 הראיות מצביעות על פתולוגיה אחת שמתחזה למצב תקין. 00:00:22.240 --> 00:00:23.100 הנה ההבטחה. 00:00:23.100 --> 00:00:27.040 נעקוב אחר הממצאים, נזהה את האשם, ונתקן את הפתולוגיה. 00:00:27.180 --> 00:00:30.120 נבחן שלושה מצבי קשר, גיבוי למעבד, CPU, 00:00:30.540 --> 00:00:33.200 חוסר התאמת גרסאות בין קודה לאונט סטנסר RT, 00:00:33.480 --> 00:00:36.360 ותצורת קונטיינר שגויה, ונוכיח זאת באמצעות השיה, 00:00:36.600 --> 00:00:38.660 תפוקה וניצול GPU לפני ואחרי. 00:00:38.860 --> 00:00:41.520 הגדרת המקרה, הסביבה ופרופיל הקורבן. 00:00:41.680 --> 00:00:46.300 כל קונפיגורציה מספרת סיפור, והסיפור הזה מתחיל בדייר רגיל תחת לחץ. 00:00:46.300 --> 00:00:47.980 אומס העבודה הוא דיפוזיה מטקסט לתמונה, 00:00:47.980 --> 00:00:53.800 גרסאות סטייבל דיפוז'ון שרצות בית מינוס 512 על 512 ומתרחבות למד מינוס 1024 על 1024. 00:00:54.000 --> 00:00:55.220 התעבורה התנודתית. 00:00:55.400 --> 00:00:57.960 הקונקורנסי נע בין 8 למד מינוס 32 בקשות. 00:00:58.200 --> 00:01:00.360 גדלי העצבות משתנים בין 1 למד מינוס 8. 00:01:00.560 --> 00:01:02.600 רמות השירות מחמירות לגבי השיית זנב. 00:01:02.760 --> 00:01:05.720 חריגות בפי 95 מתורגמות ישירות לזיקויים וכנסות. 00:01:05.900 --> 00:01:08.600 המודלים אינם אקזוטיים, אבל הבחירות שלהם קריטיות. 00:01:08.600 --> 00:01:11.300 צינורות עיבוד של סטייבל דיפוז'ון מיוצאים לאונקס, 00:01:11.300 --> 00:01:15.240 אופטימיזציות של תשומת לב צולבת כמו X4 Mars או Scale.Product Attention, 00:01:15.480 --> 00:01:17.460 ובחירות מתזמן שסוחרות בצעדים עבור איכות. 00:01:17.540 --> 00:01:20.720 המערכת האקולוגית אמורה להעיץ כאשר התשתית תקינה. 00:01:20.880 --> 00:01:22.740 החומרה נראית מכובדת על הנייר. 00:01:22.920 --> 00:01:27.540 כרטיסי אנווידיה מסדרת RTX ואה בענן עם 16 עד 32 גיגה בייט וירם. 00:01:27.680 --> 00:01:30.460 ה-PCIE יושב בין המערך להתקן כמו עמדת תשלום. 00:01:30.460 --> 00:01:34.520 מהיר מספיק כשהוא מוגדר, מעניש כשפעולות כלת פלט חוזרות להעברות הניתנות לדפדוף. 00:01:34.520 --> 00:01:36.440 בסביבה הזו, שום דבר אינו מקרי. 00:01:36.620 --> 00:01:38.560 שרשרת הכלים מוערמת בשכבות מוכרות. 00:01:38.720 --> 00:01:42.700 PyTorch משמש לייצוא, ואז אונאקס רנדהים או TensorRT משתלטים לצורך עסקה. 00:01:42.820 --> 00:01:44.940 מנהלי הטקן קודה יושבים מתחת להקל. 00:01:45.120 --> 00:01:47.940 גרעיני תשומת לב מבטיחים מהירות עם הגרסאות תואמות. 00:01:48.120 --> 00:01:51.400 הפריסה היא בקונטיינרים בלבד, תמונות בלתי ניתנות לשינוי, 00:01:51.400 --> 00:01:53.660 פריסות בניהול C ומדיניות כחול ירו. 00:01:53.820 --> 00:01:55.720 המגבלה הזו אמורה ליצור בטיחות. 00:01:55.720 --> 00:01:57.760 היא יכולה גם להקפיא פגמים בתוך אינבר. 00:01:57.920 --> 00:01:59.660 הסיכונים העסקיים אינם מופשטים. 00:01:59.860 --> 00:02:01.680 עלות לכל בקשה מגדירה את הרווח. 00:02:01.900 --> 00:02:05.300 הזמנות GPU מתומחרות לפי שעה, בין אם הגרעינים רצים ובין אם לא. 00:02:05.480 --> 00:02:08.620 כשההשייה נמתחת משניות לחצי דקה, התפוקה קורסת. 00:02:08.760 --> 00:02:12.500 קונפיגורציה שגויה אחת הופכת מעיץ לתנור חימום, יקר, שקט, 00:02:12.500 --> 00:02:14.500 ועסוק בלא לעשות כלום שתורם לתור. 00:02:14.620 --> 00:02:17.380 בבחינה מדוקדקת יותר, פרופיל הקורבן מצטמצם. 00:02:17.380 --> 00:02:24.820 קונקורנסי בית מינוס 16, עצבות ב-2 כדי להישאר מתחת לתקרות הוורם בית מינוס 512 עם עלייה למד מינוס 1024 לאיכות. 00:02:24.920 --> 00:02:27.020 הדייר מצפה לפי 95 עקבי. 00:02:27.160 --> 00:02:36.620 במקום זאת, העקבות מראים השהיות לא יציבות, דלתאות רחבות בין פי 50 לפי 95 ומחזורי עבודה של הג'י פי יו שמתנודדים מממינוס 5% עד 40% ללא סיבה ברורה. 00:02:36.620 --> 00:02:38.880 גרפי ה-CPU מספרים אמת אחרת. 00:02:39.060 --> 00:02:41.380 הליבות עמוסות ללא הצדקה בעיבוד מקדים. 00:02:41.560 --> 00:02:43.440 הראיות מצביעות על שלושה כיוונים. 00:02:43.440 --> 00:02:50.380 ראשית, חלופה ל-CPU. כאשר ספק הביצוע של CUDA או TensorRT נכשל בטעינה, המנוע בוחר בשקט בגרף ה-CPU. 00:02:50.540 --> 00:02:53.080 המודל עובד, אך עם שיהוי הגבוה פי 10 עד 30. 00:02:53.340 --> 00:02:54.840 שנית, היא התאמת גרסאות. 00:02:54.980 --> 00:03:02.300 אונקס רנטיים קומפל מול גרסת CUDA אחת, צמתים מריצים אחרת, ומנועי TensorRT מבוטלים ונבנים מחדש עם ליבות גנריות. 00:03:02.300 --> 00:03:05.400 ניצול המשאבים קיים, אך הנתיבים המהירים עבדו. 00:03:05.400 --> 00:03:15.420 שלישית, הגדרות קונטיינר, שגויות, תמונות נפוחות, חוסר בחיבור התקני GPU, הגדרות שגויות של אנווידיה טורקית, וזיכרון שתפוס בהקצאות שמגביר שיהוי זנב תחת אומס. 00:03:15.580 --> 00:03:18.080 בסופו של דבר, זו לא תעלומה שקשורה למודלים. 00:03:18.320 --> 00:03:20.260 זהו מקרה שנוגע לאמינות התשתית. 00:03:20.260 --> 00:03:29.560 אנו נדחקה אחר הממצאים, סדר הספקים, יומני היכולות, חיבורי ההתקנים, ונשווה אותם לשלושה מדדים קריטיים, שיהוי, תפוקה וניצול GPU. 00:03:31.020 --> 00:03:34.700 תיק ראיות א', חלופה ל-CPU, החבלן השקט. 00:03:35.420 --> 00:03:38.640 זה התחיל בבקשה שהייתה אמורה לקחת שניות ולא לקחה. 00:03:38.780 --> 00:03:41.180 מד ה-GPU היה שקט, שקט מדי. 00:03:41.380 --> 00:03:43.860 גרף ה-CPU בינתיים עלה כמו הזעקת אש. 00:03:43.860 --> 00:03:46.200 בבדיקה מעמיקה יותר, המנוע ביצע בחירה. 00:03:46.300 --> 00:03:48.640 הוא הריץ משימה המיועדת ל-GPU על ה-CPU. 00:03:48.640 --> 00:03:49.780 אף התראה לא הופעלה. 00:03:49.920 --> 00:03:51.480 הפלט חזר בסופו של דבר. 00:03:51.700 --> 00:03:53.880 זהו החבלן השקט, החלופה ל-CPU. 00:03:54.060 --> 00:03:55.600 מדוע זה משנה? זה פשוט. 00:03:55.820 --> 00:03:58.240 סטייבל דיפיוז'ון על CPU הוא בזבוז זמן. 00:03:58.420 --> 00:04:02.980 המודל עובד, אך השיהוי מתרבה, פי 10 עד 30 איטי יותר, והתפוקה קורסת. 00:04:03.080 --> 00:04:05.780 בסביבה שמוכרת מילי שניות, הפער הזה קטלני. 00:04:05.940 --> 00:04:09.180 החשבון ממשיך לחייב על זמן GPU, אך ההתקן לא מבצע את העבודה. 00:04:09.180 --> 00:04:10.880 ציר הזמן חשף את התבנית. 00:04:11.020 --> 00:04:13.340 קונטיינרים שהורצו מקומית עם קודה טאסו. 00:04:13.340 --> 00:04:19.520 כשעברו לצומת אשכול עם מחסנית דרייברים שונה מעט, אותם קונטיינרים עלו, הגיבו לבדיקות תקינות, ואז הידרדרו. 00:04:19.620 --> 00:04:22.460 נקודת הקצה של התקינות רק בדקה, האם השרת למעלה. 00:04:22.560 --> 00:04:25.640 אז, היא מעולם לא בדקה, האם ה-GPU באמת מבצע את העבודה. 00:04:25.840 --> 00:04:27.900 בסביבה הזו, שום דבר אינו מקרי. 00:04:28.080 --> 00:04:29.040 שתיקה היא ממצא. 00:04:29.320 --> 00:04:32.920 הממצא העיקרי הוא סדר ספקי הביצוע באונקס רנטיים. 00:04:32.920 --> 00:04:37.540 המנוע מקבל רשימה, נסה טנסור RT, לאחר מכן קודה, ואז CPU. 00:04:37.540 --> 00:04:44.680 אם קודה נכשל בהתחול, בגלל דרייבר שגוי, ספריות חסרות או התקן לא מחובר, אורט יחבר בשקט את ספק הביצוע של ה-CPU. 00:04:44.840 --> 00:04:48.640 ללא חריגה, ללא קריסה, רק שורה ביומנים, שלעיתים קרובות נסתרת מהעין. 00:04:48.820 --> 00:04:51.560 ספק הביצוע של קודה אינו זמין, חוזר ל-CPU. 00:04:51.740 --> 00:04:54.280 השורה הזו היא הוידוי שרוב הצוותים לעולם לא קוראים. 00:04:54.400 --> 00:04:55.480 הנה החלק המוזר. 00:04:55.600 --> 00:04:58.320 תרשימי הניצול נראים תקינים מתאה במבט ראשון. 00:04:58.500 --> 00:04:59.760 בקשות עדיין מסתיימות. 00:04:59.760 --> 00:05:06.120 מפת השירות נראית ירוקה, אבל מחזור העבודה של ה-CPU נשאר על 5% בעוד זמן המאבד של המשתמש מזנק ונשאר גבוה. 00:05:06.260 --> 00:05:09.500 השיית ה-P50 גדלה P4 וביצועי ה-P95 מתפרקים. 00:05:09.640 --> 00:05:11.440 תעבורה מתפרצת מחמירה את המצב. 00:05:11.560 --> 00:05:15.000 תורים נוצרים והסקלר האוטומטי מוסיף עוד רפליקות שיורשות את אותו הפגם. 00:05:15.160 --> 00:05:19.300 תחשבו על זה כמו נבחרת שליחים שבה העצן לא הופיע, אז הספרן רץ את המקצה. 00:05:19.400 --> 00:05:21.440 המקל עובר, אבל לא במהירות של מרוץ. 00:05:21.440 --> 00:05:25.860 במילים אחרות, המערכת שלכם מספקת תוצאה נכונה על חשבון כל תקציב הסלו. 00:05:25.980 --> 00:05:28.760 סימנים מצטברים במהירות כשעוקבים אחר רצף ההתחול. 00:05:28.940 --> 00:05:33.180 יומני טעינת הספק מראים ניסיונות התחול של CUDA עם בדיקות גרסת דרייבר. 00:05:33.300 --> 00:05:39.360 אם הקונטיינר נבנה עבור CUDA 12.2, אבל בצומת יש רק 12, ההתחול נכשל. 00:05:39.480 --> 00:05:44.620 אם ערכת הכלים של אנווידיה לקונטיינרים לא מוגדרת, חיבור ההתקן לעולם לא יופיע בתוך הקונטיינר. 00:05:44.620 --> 00:05:46.720 בלי דב, אנווידיה אין לייב קודה. 00:05:46.720 --> 00:05:52.440 לכן, אם הגדרת הפוד לא מבקשת GPU במפורש, המתזמן לעולם לא יקצה את ההתקן. 00:05:52.640 --> 00:05:55.300 כל אחד מאלה מפעיל את השינמוך השקט הזה. 00:05:55.460 --> 00:05:57.120 השחזור הוא פשוט וישיר. 00:05:58.160 --> 00:06:05.840 בצומת שהוגדר לא נכון, הסקה פשוטה תציג ספק ביצוע מעבד, בעוד שציפית לספק טנסור RT או ספק CUDA. 00:06:07.460 --> 00:06:10.620 שלחו הודעה אחת, הגי-פי-יו נשאר במצב סרק. 00:06:10.620 --> 00:06:15.300 תהליכי המעבד מזנקים, והתמונה חוזרת תוך 20 עד 40 שניות במקום 2 עד 6. 00:06:15.300 --> 00:06:22.320 חזרו על כך בצומת עם דרייברים וחיבורים תקינים, וההודעה מסתיימת בשבריר מהזמן ומחזור הגי-פי-יו קופץ לטווח עבודה יציב. 00:06:22.460 --> 00:06:25.920 הראיות מצביעות על כך שמנגנוני ההגנה הנוכחיים הם תיאטרליים בלבד. 00:06:26.080 --> 00:06:28.560 בדיקות בריאות מחזירות 200 כי השרת מגיב. 00:06:28.720 --> 00:06:31.060 אין עימות התחול לכך שנתיב הג'י-פי-יו פעיל. 00:06:31.240 --> 00:06:34.720 בדיקות ביצועים לא קיימות, לכן התזמור מאמין שהרפליקות תקינות. 00:06:34.720 --> 00:06:38.020 המערכת לא מסוגלת להבדיל בין העצה לבין אמולציה. 00:06:38.020 --> 00:06:40.360 אמצעי הנגד הוא בוטה מעצם תכנונו. 00:06:40.480 --> 00:06:44.060 כישלון חרוץ עם ספק ביצוע הג'י-פי-יו חסר או פגום. 00:06:44.420 --> 00:06:46.720 סרבו להתחיל עם מאבד בסביבת ייצור. 00:06:46.980 --> 00:06:54.020 בהפעלת התהליך מנו את הספקים, ודו שטנסור RT או קודה נתנו, ושמספר ההתקנים תואם לציפיות. 00:06:54.020 --> 00:07:00.980 תעדו את היכולות QDNN, ליבות תנזור זמינות, מגבלות זיכרון, ווצאו עם קוד שגיאה עם משהו חסר. 00:07:01.140 --> 00:07:05.420 הקריבו זמינות עבור תקינות, ואפשרו לי מתזמירים להריץ מחדש על צומת תקין. 00:07:05.580 --> 00:07:08.580 כדי שזה יעבוד, אכפו עימות של חיבורי כלת, פלט. 00:07:08.760 --> 00:07:12.880 חברו קלטים ופלטים לזיכרון ההתקן ועמתו השקת ריאלית בעת ההתחול. 00:07:13.020 --> 00:07:15.900 הרצאה אחת לחימום שמפעילה את ליבת ה-Food Attention. 00:07:15.900 --> 00:07:20.280 אם התזמון חוצה את סף ההשאיה, הניחו שהנתיב פגום והפילו את הפוד. 00:07:20.400 --> 00:07:22.900 הוסיפו סט הודעות בדיקה, קנרי, עם זרעים דטרמיניסטיים. 00:07:23.620 --> 00:07:25.540 השבו את ההשאיה מול חלון הבסיס. 00:07:25.700 --> 00:07:29.580 אם הסטייה חורגת מהסובלנות שלכם, שילחו התראה לצוות ויצרו את הפריסה. 00:07:29.700 --> 00:07:32.500 זה אולי נראה קשוח, אבל האלטרנטיבה גרועה יותר. 00:07:32.720 --> 00:07:35.140 אשקול שעובד תוך עיבוד זמן ותקציב. 00:07:35.140 --> 00:07:41.160 קבע את סדר הספקים, דחה חלופת מעבד, וגרם למערכת להוכיח שהיא מהירה לפני שהיא נחשבת לפעילה. 00:07:41.320 --> 00:07:42.980 רק אז ירוק פירושו מועץ. 00:07:43.880 --> 00:07:45.860 ראייה ב' היא התאמת גרסאות. 00:07:46.140 --> 00:07:48.760 חוסר תאימות בין קודה לאונקס לטנסור. 00:07:49.000 --> 00:07:54.020 אם הג'י פי יו לא היה בשימוש, השאלה הבאה היא אם הוא יכול היה לפעול במלוא המהירות גם כשהוא נוכח. 00:07:54.160 --> 00:07:56.060 הראיות מצביעות על קשל עדין יותר. 00:07:56.280 --> 00:08:00.180 הגרסאות מסתנקרנות מספיק כדי לרוץ, אך לא מספיק כדי לפתוח את הנתיב המהיר. 00:08:00.180 --> 00:08:03.040 המערכת נראית מועצת עד שמסתכלים על השעונים. 00:08:03.220 --> 00:08:04.760 למה זה משנה? זה פשוט. 00:08:04.940 --> 00:08:07.760 צינורות דיפוזיה חיים עומתים על ביצועי האטנציה. 00:08:07.940 --> 00:08:11.520 כשאונקס רנטאים וטנסורט לא יכולים לטעון גרעינים, קרנלס, 00:08:11.780 --> 00:08:17.460 מאוחדים כי גרסאות קודה, CU-DNN או טנסור-RT לא תואמות, הם עוברים בשקט למימושים גנריים. 00:08:17.760 --> 00:08:18.640 המודל עובד. 00:08:19.320 --> 00:08:23.940 ניצול המשאבים נע סביב 30-50% והשיהוי חורג מהתקציב. 00:08:24.100 --> 00:08:26.580 הגרסה נראית אותו דבר, העבודה איטית יותר. 00:08:26.580 --> 00:08:29.380 בבדיקה מדוקדקת יותר, הממצאים מדויקים. 00:08:29.500 --> 00:08:32.580 יומני טעינת הספקים מצהירים על הצלחה עם סימן מסוים. 00:08:32.760 --> 00:08:36.080 נסיגה לגרעיני ברירת מחדל או השבטת X4 Mars. 00:08:36.240 --> 00:08:40.520 תראה שפיינוח הטנסורט נכשל עם בנייה מחדש של מנוע לא תואם, 00:08:40.600 --> 00:08:42.100 מה שמפעיל קומפילציה מקומי. 00:08:42.300 --> 00:08:46.060 מנועים שנבנו על גרסת משנה אחת של טנסור-RT לא יפענחו על אחרת. 00:08:46.260 --> 00:08:51.640 הבנייה מחדש מסתיימת, אך התוכנית המתקבלת עשויה להשמית אופטימיזיות של FP16 או ATTENSION מאוחד. 00:08:51.640 --> 00:08:52.680 המרוץ מסתיים. 00:08:52.840 --> 00:08:56.060 ללא זינוקים, מחזורי העבודה של ליבות הטנסור נשארים מושתקים. 00:08:56.200 --> 00:08:57.980 הנה החלק המנוגד לאינטואיציה. 00:08:58.100 --> 00:09:00.360 צוותים מפרשים את זה כריצה אופטימלית. 00:09:00.560 --> 00:09:02.700 בסביבה הזו, שום דבר אינו מקרי. 00:09:02.880 --> 00:09:06.260 אם Scaled Product Attention לא פעיל, אם X-Formers קבוי, 00:09:06.440 --> 00:09:10.320 אם CU-DNN מדווח על מרחב עבודה מוגבל, הביצועים קורסים בנימוס. 00:09:10.320 --> 00:09:15.980 הגרסה הפשוטה היא שקבצים בינאריים לא תואמים קופים גרעינים שמשתמשים ביותר תנועת זיכרון ופחות ספיפות חישובית. 00:09:16.040 --> 00:09:17.980 הפסי הופך לנראה לעין במעקבים. 00:09:18.180 --> 00:09:20.740 זמני השיהוי הקצה גדלים ככל שהמקביליות עולה. 00:09:20.840 --> 00:09:22.760 חשוב על המחסנית כעל סט מנעולים. 00:09:22.920 --> 00:09:28.180 דרייבר, ערכת כלים CUDA, CU-DNN, דגלי בנייה של ONUX Runtime וטנסור. 00:09:28.360 --> 00:09:31.300 שן אחת לא במקום, והמפתח מסתובב רק חצי דרך. 00:09:31.500 --> 00:09:34.100 אורט מפרסם גרף יכולות לכל ספק הרצה. 00:09:34.100 --> 00:09:39.800 אם האורט המקומפל מצפה לקדה 12.2, אך דרייבר הצומת חושף 12.1. 00:09:39.900 --> 00:09:42.600 CUDA נטען עם תכונות מוגבלות או לא נטען כלל. 00:09:42.720 --> 00:09:50.040 אם טנסור RT הוא 8.6 בצומת, אך התוכניות נוצרו עם 8.4, הפיינוח נכשל והמערכת מייצרת מחדש עם טקטיקות שמרניות. 00:09:50.240 --> 00:09:52.980 המערכת מעדיפה תקינות על פני מהירות בשקט. 00:09:53.120 --> 00:09:55.360 מדדים מוכיחים את ההפסד במונחים מעשיים. 00:09:55.360 --> 00:10:00.080 אם X-Formers או SDP פעילים, האטנציה של הדיפוזיה מפחית את זמן השעון באופן מדיד. 00:10:00.080 --> 00:10:05.680 מחקרים מראים בעקביות העצות של P2 עד P5 בנתיב האטנציה, תלוי ברזולוציה ובגודל העצבה. 00:10:05.840 --> 00:10:09.100 השוות אותם דרך אי-התאמת גרסאות ותאבד את המכפילים האלו. 00:10:09.220 --> 00:10:12.340 מזוג הסימונים, טום, מצטבר עם הרווחים האלו. 00:10:12.460 --> 00:10:17.320 ללא הגרעינים המאוחדים, התועלת נחנקת על ידי רוחב פס של זיכרון ופריסות לא אופטימליות. 00:10:17.320 --> 00:10:21.680 הפער מחמיר תחת 1024 על 1024 ורמת מקביליות גבוהה יותר. 00:10:21.860 --> 00:10:24.560 כדי לעקוב אחר הממצאים, התחל במיפוי היכולות. 00:10:24.560 --> 00:10:28.740 בעת ההפעלה, הדפס את רשימת הספקים המדויקת ואת התכונות המדווחות שלהם. 00:10:28.900 --> 00:10:38.060 גרסת טנסור RT, זמינות FP16 ו-INT8, סביבת עבודה מקסימלית, היוריסטיקת קונבולוציה של CUDNN ונוכחות NCCL לריבוי מאבדים גרפיים. 00:10:38.260 --> 00:10:41.360 עבור אונאקס רנטיים, הצג את סדרי העדיפויות של ה-EP. 00:10:41.360 --> 00:10:44.000 טנסור RT, קודה ואז CPU. 00:10:44.220 --> 00:10:46.540 אמת מה באמת נקשר לצמתי הגרף שלך? 00:10:46.540 --> 00:10:51.860 תעד אם צמתי עטנשון מוקצים לטנסורט עם ליבות מאוחדות או לליבות קודה כלליות. 00:10:52.060 --> 00:10:53.800 לאחר מכן, חקור את הסביבה. 00:10:53.900 --> 00:10:55.580 תשאל את מנהל ההתקן, דרייבר. 00:10:55.720 --> 00:10:58.700 אנווידי ה-SMI מציג את מודול הקרנל ואת התאימות לקדה. 00:10:58.820 --> 00:11:00.620 קרא את גרסאות הספריות קונטיינר. 00:11:00.780 --> 00:11:03.580 ליב קודה, ליב קבלס, ליב קן, ליב וינפר. 00:11:03.580 --> 00:11:11.400 אם ה-IMEG מכיל ספריות קודה 12.3, אך מנהל ההתקן המערך תומך רק עד 12.2, מצב תאימות זמן הריצה עשוי להתאנ עם מגבלות. 00:11:11.540 --> 00:11:18.820 אם ה-IMEG מצפה לכותרות טנסור RT 8.6, אך תוסף הצומת מספק 8.4, קריאות API ידרדרו או יבטלו אופטימיזציות מסוימות. 00:11:18.960 --> 00:11:21.160 התיקון הוא מטריצת בנייה, לא משאלה. 00:11:21.280 --> 00:11:23.680 קבע גרסאות מדויקות במקור אמת יחיד. 00:11:23.680 --> 00:11:30.460 IMEG, בסיס עם תאימות מנהל התקן, גרסת קודה משנית, CUDNN, גיבוב בניית ORT וגרסת טנסור RT. 00:11:30.640 --> 00:11:35.940 עפה אימג'ים להסקה, אינפרנס, מול המטריצה הזו ודחה צמתים שלא תואמים דרך תוויות צמתים ובדיקות קבלה. 00:11:36.140 --> 00:11:41.560 בני מראש הוא שמור במטמון מנועי טנסור RT לכל גרסת מודל ורזולוציה בגרסת טנסור RT המדויקת שאתה פורס. 00:11:41.680 --> 00:11:44.360 התייחס לגבצי תוכנית כאל ממצאים הקשורים למטריצה. 00:11:44.360 --> 00:11:47.120 לעולם אל תסתמך על בניית מנוע על הצומת בסביבת ייצור. 00:11:47.260 --> 00:11:50.320 זה מסתיר סחיפת גרסאות ומנפח זמני הזנקה, Cold Starts. 00:11:50.380 --> 00:11:54.180 כדי להבטיח שזה יעבוד, הוסף בדיקות אשן ב-C שמעמתות יכולות ליבה. 00:11:54.340 --> 00:12:00.080 הרץ את הקונטיינר בסביבה מבודדת עם מנהל ההתקן היד ואמת שטנסורט טוען ליבות FP16, 00:12:00.580 --> 00:12:05.320 צמתי אטנשון מאוחדים, קישור IO פעיל, Vex for Mars או SDP מוכרים. 00:12:05.320 --> 00:12:12.760 הרץ סט פרומפטים דטרמיניסטי ותכשל את הבנייה אם ההחזור חורג מחלון הבסיס או אם הלוגים מכילים שפת חזרה למצב בטוח. 00:12:12.940 --> 00:12:19.340 שמור את תמונת המצב של היכולות לצד הדיג'סט של האימג כדי ששחזור גרסה יחזיר גם את הקוד וגם את מאפייני הביצועים. 00:12:19.460 --> 00:12:22.560 בסופו של דבר, העובדות מראות שסחיפת גרסאות היא לא בג, אתה מבין. 00:12:22.740 --> 00:12:24.280 זה מחיר המהירות שאתה משלם. 00:12:24.420 --> 00:12:25.480 המערכת תעבוד. 00:12:25.640 --> 00:12:27.020 השעונים יעידו על כך. 00:12:27.200 --> 00:12:29.100 קובץ ראיות C, קונטיינר. 00:12:29.100 --> 00:12:32.660 שחיקת יעילות עקב הגדרות שגויות בתכנון. 00:12:33.060 --> 00:12:37.140 גם כשהגרסאות תואמות, הקונטיינר יכול לחבל ביעילות מבפנים. 00:12:37.380 --> 00:12:44.240 הראיות מצביעות על דימום איתי, אימג, נפוח, אינסטלציה חסרה של GPU והתנהגות מקצה זיכרון שמעובטת את ההחזור תחת אומס. 00:12:44.400 --> 00:12:45.480 שום דבר לא קורס. 00:12:45.600 --> 00:12:46.540 הכל מתדרדר. 00:12:47.600 --> 00:12:49.100 מדוע זה חשוב זה פשוט? 00:12:49.100 --> 00:12:51.780 קונטיינרים מעצבים את המציאות בזמן הריצה. 00:12:51.880 --> 00:12:55.980 עם האימג, שמן והזנקה איטית, רפליקות מגיעות מאוחר לאירוע. 00:12:55.980 --> 00:13:02.020 אם התקני GPU אינם מחוברים או של זמן הריצה חסרים הדגלים הנכונים, ספקי הביצוע מתנהגים לא קשורה. 00:13:02.160 --> 00:13:06.580 עם זירות זיכרון עוגרות הקצאות, רעש ברם מפעיל דפדוף וזינוקים בזנב התעבורה. 00:13:06.740 --> 00:13:07.960 המודל נראה בסדר. 00:13:08.140 --> 00:13:10.380 הקונטיינר ממשה בשקט כל בקשה. 00:13:10.560 --> 00:13:13.720 בבחינה מקרוב, ארטיפקטים מצטברים בזמן ה-ביילד. 00:13:13.720 --> 00:13:19.520 אימגים עולים על 2 ג'יגבייט, עמוסים במהדרים, קבצי כותרת ונכסי בדיקות כי אין בנייה רב של הביט. 00:13:19.520 --> 00:13:24.320 היעדר דוקר אגנור מזמין מחברות, מתמונים ומשקולות ניסיוניות לשכבות הייצור. 00:13:24.480 --> 00:13:27.160 כל פריסה מושכת גיגה ביתים דרך הרשת. 00:13:27.340 --> 00:13:31.540 כשתרחיב את זה לנוד פולס, הפעלה קרה הופכת למדיניות, לא לחריגה. 00:13:31.660 --> 00:13:32.960 הראיות אינן מסתוריות. 00:13:33.160 --> 00:13:35.520 ההיסטוריה של דוקר מספרת את הסיפור בשכבות. 00:13:35.520 --> 00:13:38.260 זמן הריצה חושף את השכבה השנייה של השחיקה. 00:13:38.260 --> 00:13:46.920 ללא דגלי GPU מפורשים, אין GPUs בדוקר או חוסר בהגדרת תוסף התקן בקאברנץ, התהליך לא רואה התכני אנווידיה. 00:13:47.240 --> 00:13:51.300 קונפיגורציות שגויות בין ויידיה קונטיינאר טולקיט מסתירות את לייב קודה. 00:13:51.460 --> 00:13:55.020 אז ככה, ספק הביצוע נטען עם מגבלות או לא נטען בכלל. 00:13:55.020 --> 00:14:00.140 מיג לא נאכף, לכן עומסי עבודה נלחמים על פרוסות זיכרון ומבזבזים משאבים שהמתזמנים לא מבינים. 00:14:00.260 --> 00:14:02.640 היומנים נשארים מנומסים, הביצועים מדממים החוצה. 00:14:02.640 --> 00:14:04.580 התנהגות הזיכרון היא השכבה השלישית. 00:14:04.700 --> 00:14:08.780 כברירת מחדל, זירת הזיכרון קודה של אונאקס רנדיים שומרת הקצאות בצורה אגרסיבית. 00:14:08.880 --> 00:14:13.820 תחת עומס במקביל זה נראה יציב, עד שהזירה תופסת יותר מדי ומאועבת לבקשות חדשות. 00:14:13.820 --> 00:14:20.200 זיכרון מוצמד לא מוגדר, כך שהעברות מערח התקן קורות דרך מאגרים ניתנים לדפדוף והופכות את ה-PCIE לצוואר בקבוק. 00:14:20.200 --> 00:14:25.780 קלט, פלט לא קשור להתקן, לכן טנזורים מקפצים בין ה-CPU ל-GPU ויוצרים ניסי השאיה בלתי נראים. 00:14:25.940 --> 00:14:28.900 התנהגות הזנב מחמירה ראשונה, ואז החציון עוקב אחריה. 00:14:29.060 --> 00:14:30.960 ככה נראה סט הסימפטומים בשטח. 00:14:30.960 --> 00:14:34.280 התפוקה האפקטיבית מפגרת למרות ניצול GPU מתון. 00:14:34.420 --> 00:14:39.900 השאיה תחת עומס קל היא מקובלת, אבל ה-P95 מתנדנד תחת מקביליות ואז מזנק ללא צפי. 00:14:40.020 --> 00:14:43.880 הריגות אום מזדמנות מאפסות רפליקות בשיא התעבורה ויוצרות התנהגות עדר. 00:14:50.200 --> 00:14:54.240 חשוב על היגיינת קונטיינרים כעל טיפול בראיות. 00:14:54.420 --> 00:14:56.260 בנייה רב שלבית מסירת טביעות אצבע. 00:14:56.400 --> 00:14:59.040 מהדרים ווכלי פיתוח לעולם לא נכנסים לזמן הריצה. 00:14:59.040 --> 00:15:03.100 אם בסיס מסוג DestroyS או Slim מצמצם את שטח הפנים ומקטין את זמן המשיכה. 00:15:03.200 --> 00:15:06.440 ביקורות של Docker Slim או Dive מאשרות מה שרד את הבנייה. 00:15:06.560 --> 00:15:08.900 קובץ Docker Ignore מונע נפח מקרי. 00:15:09.060 --> 00:15:10.760 התוצאה היא ניקיון פורנזי. 00:15:10.920 --> 00:15:12.760 מה שרץ הוא רק מה שצריך לרוץ. 00:15:12.900 --> 00:15:15.400 צינרת ה-GPUs קוקה להצהרות מפורשות. 00:15:15.400 --> 00:15:19.300 בדוקר הצהר על GPUs כולם או על פורסת מיג מדויקת. 00:15:19.400 --> 00:15:25.240 בקאברנץ בקש משאבי NVIDIA COM GPU ווודא שהתקן התוסף תואם לענף הדרייבר שלך. 00:15:25.420 --> 00:15:28.340 בהפעלה ווודא נוכחות התקן ותאימות דרייבר. 00:15:28.480 --> 00:15:32.000 NVIDIA SME וLD CONFIG הם לא לקישות, הם בדיקות קבלה. 00:15:32.180 --> 00:15:35.000 אם מה שהוא חסר או לא תואם, תעת זאת כהפרה וצא. 00:15:35.120 --> 00:15:38.140 אז כוון את ONUX Runtime וטנסורט עם כוונה תחילה. 00:15:38.260 --> 00:15:41.760 נעל את סדר ספק הביצוע על אינטיבי GPU בלבד בסביבת ייצור. 00:15:41.760 --> 00:15:47.180 שקול לבטל או לכוונן מחדש את אזור הזיכרון של קודה כאשר הוא עוגר משאבים מעבר לאומס העבודה שלך. 00:15:47.300 --> 00:15:50.280 הגבל צמיחה או קבע הקצאה מראש לגבולות צפויים. 00:15:50.520 --> 00:15:54.480 הפעל FP16 כברירת מחדל כאשר מגבלות הדיוק מאפשרות זאת. 00:15:54.600 --> 00:15:56.700 התנה INT8 בבדיקת דיוק. 00:15:56.860 --> 00:16:01.120 קשור קלט פלט לזיכרון ההתקן כדי שהנתונים יגיעו למקום שבו מתבצע החישוב. 00:16:01.180 --> 00:16:03.680 הובחר זרמים בזהירות כדי למנוע חסימת ראש תור. 00:16:03.680 --> 00:16:06.860 ווודא שהדברים נשמרים באמצעות שני שערים, בריאות וביצועים. 00:16:07.000 --> 00:16:10.300 בריאות היא לא רק סטטוס 200, היא תמונת מצב מאומתת של היכולות. 00:16:10.520 --> 00:16:15.320 ספקים טעונים, ליבות מאוחדות נוכחות, ליבות תנזור מזוהות וכלת פלט מוגדר. 00:16:15.500 --> 00:16:20.880 ביצועים הם קבוצת הנחיות בסיסית שרצה, חם, בעלייה, עם חלון השיה ורף ניצול מינימלי. 00:16:21.020 --> 00:16:24.060 אם הקונטיינר לא עומד בשניהם, הוא לא מורשה להיכנס לשירות. 00:16:24.060 --> 00:16:28.600 עצמד תקציבי גודל משיכה, פול סייז, לשיא כך שתמונות החורגות מהסף יכשילו את הבנייה. 00:16:28.780 --> 00:16:33.460 שמור תיעוד שינויים של תוכן התמונה לפי תמצית, דייג'סט, כדי ששחזורים יחזירו קוד תקים. 00:16:33.600 --> 00:16:38.060 הראיות מראות שקונטיינרים לא רק מריצים תוכנה, הם מקודדים התנהגות תחת אומס. 00:16:38.220 --> 00:16:42.960 כשהם רועשים, כבדים או מאורפלים לגבי ה-GPU, הם הופכים את ההיעצה לטקס חסר תועלת. 00:16:42.960 --> 00:16:46.760 כשהם רזים, ברורים ואסרטיביים, הם שומרים על הנתיב המהיר ששילמת עבורו. 00:16:46.860 --> 00:16:48.740 בסביבה הזו, שום דבר אינו מקרי. 00:16:48.880 --> 00:16:52.260 הקונטיינר או שעוזר ל-GPU לבצע את עבודתו, או שהוא מפריע לו. 00:16:52.400 --> 00:16:54.540 מעבדת, פורנזיקה, מדדים שמרשיעים. 00:16:54.680 --> 00:16:56.360 השהיה, תפוקה, ניצול. 00:16:56.520 --> 00:17:01.440 ראיות מנצחות דעות, לכן אנו מקבים את קבוצת ההנחיות, נועלים את זרעי האקריות ומריצים את המערכת חם. 00:17:01.440 --> 00:17:09.520 אותם מתזמנים, אותם צעדים, 25 עבור 512 מורחב ל-50 עבור 1024 על 1024 כדי לחשוף עומס. 00:17:09.660 --> 00:17:12.540 הקונקורנציה מוחזקת על 16 עם סוויפ ל-32. 00:17:13.020 --> 00:17:16.720 גודל הבוטש מתחיל ב-1 ועולה בזהירות עד שגבולות הו-RAM משמיעים את כולם. 00:17:16.920 --> 00:17:19.840 ללא אקסטרפולציה, ללא תירוצים, רק שעונים ומונים. 00:17:20.040 --> 00:17:21.280 ההשאיה מעידה ראשונה. 00:17:21.280 --> 00:17:28.380 במצב המושפל, ה-CPU Fallback, או נתיב האטנציה הגנרי, P50 בית מינוס 512 על 512, נמתח לדו ספרתי. 00:17:28.380 --> 00:17:30.680 P95 מספר את הסיפור האמיתי. 00:17:30.820 --> 00:17:35.640 הוא נודד ל-20 עד 40 שניות באופן בלתי צפוי, כיתורים מחמירים חוסר יעילות קטן. 00:17:35.840 --> 00:17:41.220 בית מינוס 1024 על 1024 עם 50 צעדים, P95 הופך לחישלון מרגע ההגעה. 00:17:41.320 --> 00:17:46.680 לאחר התיקון, עם GPU EP נעול, Attention מאוחד פעיל וקלט, פלט קשור להתקן, 00:17:46.680 --> 00:17:50.580 P50 חוזר לספרה אחת ו-P95 מתכווץ לתוך התקציב. 00:17:50.740 --> 00:17:53.400 הטווח מצטמצם, המערכת הופכת לצפויה. 00:17:53.560 --> 00:17:54.740 התפוקה מאשרת זאת. 00:17:54.740 --> 00:17:58.340 בקונקורנציה 16, הנתיב המושפל מניב טפטוף בלבד. 00:17:58.480 --> 00:18:02.000 תמונות לדקה בקושי עולות עם רפליקות כי כל מופע תוקע את עצמו. 00:18:02.180 --> 00:18:05.660 הגדלה ל-32 מחפילה את התחרות על המשאבים, לא את התפוקה. 00:18:05.780 --> 00:18:07.520 לאחר התיקון, הקשר מתיישר. 00:18:07.660 --> 00:18:13.120 תמונות לדקה עולות כמעט לנערית עד שמחזור העבודה של ליבות הטנזור רבוי או שה-C מגביל את הבוטש. 00:18:13.120 --> 00:18:14.880 ההבדל בשיפוע הוא ההוכחה. 00:18:14.960 --> 00:18:18.180 העבודה אכן חוצה את קו הסיום מהר יותר, לא רק ברעש, רב יותר. 00:18:18.180 --> 00:18:19.640 הניצול סוגר את התיק. 00:18:19.780 --> 00:18:24.880 לפני כן, מחזור העבודה של ה-GPU נע בין אחוז למד מינוס 50 אחוזים עם עמקים שטוחים וארוכים. 00:18:25.040 --> 00:18:29.580 מוני הפסי מציגים רעש מהעברות זיכרון הניתנות לגישה פייג'י אבר. 00:18:29.940 --> 00:18:35.920 לאחר מכן, מחזור העבודה מתייצב לרצועה גבוהה ועקבית עם מעורבות גלויה של ליבות טנזור. 00:18:36.100 --> 00:18:38.900 ה-CPU חוזר לתזמור ועיבוד מקדים קל. 00:18:39.060 --> 00:18:44.020 קפיצות בפסי מתקבצות כי זיכרון מוצמד, פינד וקישור IO בתלות העבורה מיותרת. 00:18:44.020 --> 00:18:46.780 שום דבר אחר לא מסביר את השינוי הזה חוץ מהעצה ממשית. 00:18:46.920 --> 00:18:48.580 אנחנו מוסיפים בדיקת מאמץ צולבת. 00:18:48.740 --> 00:18:53.840 מתחת ל-512 על 512 בית מינוס 25 צעדים, הנתיב המיוצב שומר על מקביליות של 16 ללא קפיצות זנב. 00:18:53.960 --> 00:18:56.900 דחיפה ל-32 והמערכת מתדרדרת בצורה מבוקרת. 00:18:57.080 --> 00:18:59.980 מדד פי 95 מתרחב באופן צפוי, לא כאוטי. 00:19:00.080 --> 00:19:04.280 תחת 1024 על 1024 בית מינוס 50 צעדים, ההבדל מוגדל. 00:19:04.420 --> 00:19:07.120 הנתיב הלא מיוצב קורס לזמני קצובה, טיימאוטס. 00:19:07.120 --> 00:19:12.520 הנתיב המוקשה שומר על פי 50 שימושי ופי 95 קביל עם בצ של 1 עד 2 עד לגבולות הו-RAM. 00:19:12.680 --> 00:19:15.260 כאן זירות, ארינז, וזרמים, סטריםס, הם קריטיים. 00:19:15.440 --> 00:19:17.660 לאחר הכבנון, חסימות ראש התור פוחתות. 00:19:17.840 --> 00:19:22.880 זווית העלות היא חשבון פשוט, בקשות לשעת GPU מטפסות פי 2 עד 5 כאשר תשומת לב מאוחדת, 00:19:23.040 --> 00:19:25.740 פיוז דטנשון, באף פי 16 וקישור IO מאומתים. 00:19:25.880 --> 00:19:28.880 העלות האפקטיבית למד מינוס אלף תמונות יורדת בהתאם. 00:19:28.880 --> 00:19:32.820 כנסות הפעלה קרה מתכווצים כי הדימויים רזים והמנועים בנויים מראש. 00:19:32.960 --> 00:19:35.420 צמתים מפסיקים לשלם מס הידור במפגש הראשון. 00:19:35.560 --> 00:19:37.240 הספר הראשי מסכים עם הלוגים. 00:19:37.380 --> 00:19:39.160 עימות מונע הרצות בנות מזל. 00:19:39.320 --> 00:19:42.780 חזור על כך בברכת צמתים שנייה עם גרסת מנהל התקן משנית שונה. 00:19:42.940 --> 00:19:46.200 הדימוי המוקשה מסרב לעלות על צומת לא תואם לפי תכנון. 00:19:46.380 --> 00:19:49.260 לכן, התוצאות ניתנות להשוואה ולא מבלבלות. 00:19:49.460 --> 00:19:51.100 בדוק צילום מצב של יכולות. 00:19:51.100 --> 00:19:54.820 אותו סדר ספקים, אותו טנסור RT, אותן טענות קרנל. 00:19:54.980 --> 00:19:58.020 הרץ שוב את סט ההנחיות וקלות מחדש את ההתפלגויות. 00:19:58.320 --> 00:20:00.560 כשההיסטוגרמות חופפות, הביטחון עולה. 00:20:00.680 --> 00:20:02.920 כשהן לא, הפרש היכולות מסביר למה. 00:20:03.060 --> 00:20:05.700 בסוף, המספרים לא מתווכחים, הם מרשיעים. 00:20:05.860 --> 00:20:09.040 השיה מתכווצת, התפוקה גדלה, הניצול מתייצב. 00:20:09.180 --> 00:20:10.820 הפתולוגיה אינה היפותטית. 00:20:10.980 --> 00:20:14.880 היא ניתנת למדידה, ואחריה היא מותירה טביעות אצבע על כל גרף. 00:20:14.880 --> 00:20:18.440 פרוטוקול התיקון, רשימת טיוג חוזרת להקשכה. 00:20:18.580 --> 00:20:20.280 בקרת קבלה מגיעה ראשונה. 00:20:20.460 --> 00:20:24.400 סרב להפעלה אם ספקי ביצוע של טנסור RT או קודה אינם נוכחים. 00:20:24.580 --> 00:20:26.300 מנס ספקים, עמת ספירת התקנים, 00:20:26.520 --> 00:20:28.020 הדפס צילומי מצב של יכולות, 00:20:28.180 --> 00:20:31.300 CU-DNN, FP-16, סביבת עבודה IN-T8. 00:20:31.480 --> 00:20:33.460 אם מה שהוא חסר, צא עם קוד שגיאה. 00:20:33.600 --> 00:20:35.280 זמינות עוקבת אחרי תקינות. 00:20:35.280 --> 00:20:37.220 הצמדת גרסאות היא עמוד השדרה. 00:20:37.360 --> 00:20:39.280 שמור על ענף מנהל התקן מטריצה יחיד, 00:20:39.280 --> 00:20:42.020 קודה משני לכאן, גיבוי לבניית ONUX Runtime, 00:20:42.200 --> 00:20:45.280 טנסור RT, בני דימויי השקה כנגד אותה מטריצה. 00:20:45.380 --> 00:20:46.680 תייג צמתים להתאמה. 00:20:46.820 --> 00:20:48.460 חסום קבלה על בסיס שוויון. 00:20:48.680 --> 00:20:51.680 מנועי טנסור RT בנויים מראש לכל מודל ורזולוציה. 00:20:51.860 --> 00:20:54.180 תוכניות הן תוצרים, לא ניחושי זמן ריצה. 00:20:54.300 --> 00:20:56.080 היגיינת קונטיינרים משמרת את האמת. 00:20:56.280 --> 00:20:57.700 השתמש בבנייה רב של ביט. 00:20:57.700 --> 00:21:00.320 שמור את זמן הריצה ללא הפצה, דיסטרו-ס או רזה. 00:21:00.420 --> 00:21:01.900 כלול דוקר איגנור קפדני. 00:21:01.900 --> 00:21:04.280 אמת עם היסטוריית דוקר וביקורת הרזיה. 00:21:04.460 --> 00:21:06.180 הגדר תקציבי גודל בריכה ב-C. 00:21:06.320 --> 00:21:07.640 ייקשל בדימויים מנופחים, 00:21:07.840 --> 00:21:09.880 חתום על דימויים ובדוק תוכן לפי תמצית, 00:21:10.040 --> 00:21:10.500 דייג'סט. 00:21:10.580 --> 00:21:11.820 הגדר GPU תחילה, 00:21:12.000 --> 00:21:13.940 נעל את סדר ה-EP לטנסורט קודה, 00:21:14.200 --> 00:21:15.900 ובטל את ספק ה-CPU בייצור. 00:21:16.080 --> 00:21:19.980 אמת נוכחות של אנווידי הדב וגרסת ערכת הכלים של אנווידי הקונטיינר. 00:21:19.980 --> 00:21:24.300 בקש GPU של אנווידייה נקודה קום במפורש או שלב רישיונות ואמת זאת בעת ההפעלה. 00:21:24.300 --> 00:21:25.640 כוונן את זמן הריצה. 00:21:25.780 --> 00:21:27.860 אפשר FP-16 כברירת מחדל. 00:21:28.020 --> 00:21:30.500 הגבל INT-8 באמצעות בדיקות דיוק. 00:21:30.660 --> 00:21:33.000 קשור I.O. ישירות לזיכרון ההתקן. 00:21:33.240 --> 00:21:34.500 אפשר זיכרון מוצמד. 00:21:34.760 --> 00:21:37.060 ובחר זרמים למניעת חסימת Head of Line. 00:21:37.280 --> 00:21:39.580 כוונן מחדש או בטל את זירת ה-Ort CUDA, 00:21:39.740 --> 00:21:41.600 כאשר היא נעצרת מעבר לסט העבודה. 00:21:41.600 --> 00:21:43.560 הגדר SLS של ביצועים כקוד, 00:21:43.720 --> 00:21:47.340 בדיקה עצמית בהפעלה עם חלון השיה של הנחיות דטרמיניסטיות ורף ניצול. 00:21:47.460 --> 00:21:49.380 היא קשל במקרה של צבירת פיגורים. 00:21:49.380 --> 00:21:52.340 אוסף יכולת תצפית, מדדי GPU לכל בקשה, 00:21:52.620 --> 00:21:53.740 התראות על מסלול פגום, 00:21:53.920 --> 00:21:56.020 הנחיות קנרי וקווי בסיס להשוואה. 00:21:56.160 --> 00:22:00.700 בצע פריסת בלו-גרין עם שערי ביצועים וחזרה אוטומטית במקרה של חריגה. 00:22:00.820 --> 00:22:02.380 כאשר הפרוטוקול נאכף, 00:22:02.600 --> 00:22:04.440 העצה היא מוכחת, לא מונחת. 00:22:05.080 --> 00:22:06.060 הלקח הוא קליני. 00:22:06.060 --> 00:22:10.400 נסיגת CPU שקטה, זליגת גרסאות ונפיחות קונטיינרים אינן בגים. 00:22:10.520 --> 00:22:12.640 אלו דפוסי קשל צפויים שניתן לחסום. 00:22:12.800 --> 00:22:14.780 הרץ את הפרוטוקול, מדוד ניצול GPU, 00:22:14.780 --> 00:22:16.020 סירב למסלולים פגומים, 00:22:16.200 --> 00:22:18.500 קבע גרסאות והתייחס למנועים כאל-ארטיפקטים. 00:22:18.620 --> 00:22:21.240 אם תרצה צלילה עמוקה יותר לזמן הריצה של אונאקס 00:22:21.240 --> 00:22:24.320 ולהתנהגות הזיכרון של טנסר-ארטי ומתי להשביט זירות, 00:22:24.560 --> 00:22:27.120 צפה במקרה הבא בסדרה זו והירשם להערות המעבדה.