כלי אופטימיזציה בינארי של אינטל: כיצד הוא מפיק את המרב מהמשחקים ומהמדדים שלך

  • כלי אופטימיזציית הבינאריות של אינטל ממטב קבצים בינאריים שכבר הורכבו מבלי לגעת בקובץ ה-.exe המקורי, מארגן מחדש הוראות ומשפר את הווקטוריזציה.
  • הכלי מסתמך על HWPGO ופרופילים שנוצרו במעבדות אינטל, ומשיג ממוצעים הקרובים ל-8% ומגיע לשיא של מעל 20% במשחקים.
  • היקפה הנוכחי מוגבל: מעט משחקים נתמכים, בלעדיים ל-Arrow Lake Refresh, ובעיות עם אנטי-צ'יטים ומבחני ביצועים כמו Geekbench.
  • אם תאימותו תורחב ובעיות השקיפות ייפתרו, הוא יוכל להיות עמוד תווך באסטרטגיית הביצועים של אינטל.

כלי אופטימיזציה בינארי של אינטל

הגעתם של מעבדי Intel Core Ultra 200S Plus החדשים, המכונים Arrow Lake Refresh, מביאה יותר מסתם גיגה-הרץ וליבות. היא מגיעה גם עם תוכנה ייחודית מאוד: ה- כלי אופטימיזציה בינארי של אינטל, או BOT/IBOT, טכנולוגיה שנועדה לשפר עוד יותר את הביצועים בעולם האמיתי, במיוחד ב משחקים עם כרטיסי מסך צנועים ועומסי עבודה תובעניים, מבלי שמפתחים יצטרכו לגעת בשורת קוד אחת.

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

מהו בדיוק כלי האופטימיזציה הבינארית של אינטל וכיצד הוא שונה מאופטימיזציות אחרות?

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

הרעיון נובע מבעיה בסיסית שקיימת כבר שנים: משחקים ותוכנות רבים מפותחים תוך מחשבה על הדברים הבאים: ארכיטקטורות ישנות יותר, קונסולות או מעבדים גנרייםהתוצאה היא שכאשר מפעילים אותם על חומרה מודרנית כמו Arrow Lake Refresh, המעבד אינו מנוצל במלואו. ישנן חוסר יעילות, כשלים בחיזוי ענפים, שימוש לקוי במטמון, או פשוט חוסר בווקטוריזציה במקומות בהם היא יכולה להופיע.

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

במערכת האקולוגית של התוכנה של המותג, BOT מצטרף לכלים כמו Intel Application Optimizer (APO) ורכיבים אחרים של חבילת הביצועים. בעוד ש-APO מתמקד בעיקר ב... הקצאת ליבות ונושאים ואינטראקציה עם המתזמן ממערכת ההפעלה, BOT פועל אף יותר למטה, בזרימת ההוראות המבוצעות במעבד עצמו, מה שגורם לשתי המערכות להשלים זו את זו במקום לחפוף.

פעולות פנימיות של Intel BOT

כיצד Intel BOT פועל באופן פנימי: HWPGO, מיקרו-ארכיטקטורה ופרופילים בינאריים

המנוע הטכני שמאחורי Intel BOT מסתמך על גישה של אופטימיזציה מונחית פרופיל מבוססת חומרה (HWPGO)במילים פשוטות, אינטל מנתחת כיצד קבצים בינאריים מתנהגים כאשר הם פועלים על הארכיטקטורה שלה, מזהה צווארי בקבוק, וממידע זה מייצרת גרסה אופטימלית של קוד המכונה.

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

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

במחשב שלך, כאשר אתה מפעיל את Intel BOT, שירות מצב משתמש פועל ברקע. שירות זה אחראי על ניטור מתי יוצאים קבצים בינאריים תואמים ולנתב מחדש את הביצוע שלו לנתיבים הממוטבים שנוצרו על ידי אינטל. קובץ ה-.exe בכונן הקשיח שלך לא משתנה: מה שמשתנה הוא הנתיב שההוראות עוקבות אחריו בזמן ריצה, בדומה לאופן שבו מנהל התקן גרפי מחליף שיידרים בגרסאות ממוטבות במשחקים מסוימים.

מבחינה טכנית, הכלי מתנהג כמעין משפר זרימת ביצוע דינמית, תוך ניצול הידע הפנימי שלו על המיקרו-ארכיטקטורה של Arrow Lake Refresh. הוא אינו משמש כמנהל התקן קלאסי או כתיקון משחק; הוא משהו בין לבין. סדר מחדש את תפריט ההוראות מבלי לשנות את ה"חלקים", רק הסדר שבו הם מוגשים למעבד.

הקשר בין Intel BOT, APO וכלי ביצועים אחרים של Intel

באסטרטגיה האחרונה של אינטל, BOT לא מגיע לבד: הוא חלק מחבילה רחבה יותר שבה טכנולוגיות אחרות מתקיימות במקביל. Intel Extreme Tuning Utility (XTU)Intel Application Optimizer (APO) וכעת גם את כלי האופטימיזציה הבינארית (IBOT/BOT) של אינטל. כל רכיב מכסה היבט אחר של ביצועים.

XTU מתמקדת בצד הקלאסי יותר של אוברקלוקינג של המעבד, מתחים ופרמטריםכלומר, כוונון החומרה עצמה. APO פועל על שכבת התוכנה ומערכת ההפעלה, שולט באופן שבו הלידים והמשימות מחולקים בין סוגי הליבות השונים (ליבות P, ליבות E) ומנטר את הקצאת המשאבים כך שהיישומים הזקוקים לכך ביותר ייהנו מהחומרה המתאימה.

BOT, מצידה, יורד לרמה נמוכה עוד יותר: זרימת ההוראות שהמעבד מבצע עבור קובץ בינארי ספציפיבעוד ש-APO מנסה לגרום למשימה ליפול לתוך הליבה הנכונה בזמן הנכון, BOT מוודא שההוראות הללו מסודרות ומווקטוריזציות באופן המתאים ביותר לארכיטקטורה הפנימית של השבב.

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

ראוי לציין שלמרות שהפילוסופיה של BOT מזכירה את זו של APO (שתיהן אופטימיזציות תוכנה המיושמות "מבחוץ" ליישום), הם אינם ניתנים להחלפה או שווי ערךאינטל מציגה אותם ככלים משלימים לכוונון מדויק של כל שכבה במערך הביצועים: החל מחומרה ותצורתה (XTU), דרך הקצאת תהליכים (APO), ועד לארגון מחדש של קוד המכונה עצמו (BOT).

שיפורים בביצועי המשחק: משיפורים צנועים ועד קפיצות מרהיבות

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

אחת הדוגמאות המצוטטות ביותר היא צל של טומב ריידרכותר זה, עקב האופטימיזציה המקורית שלו, לא ניצל במלואה את הארכיטקטורה ההיברידית של מעבדי אינטל מודרניים. עם שילוב APO + BOT, נמדדו עליות של כ-22% ואף יותר בכמה מבחני ביצועים, עם מקרים בהם קצב הפריימים לשנייה קופץ, למשל, מ-298 ל-375 פריימים לשנייה, המייצגים קפיצה של כמעט 26%.

במשחק מודרני יותר, מותאם יותר למעבדים הנוכחיים, כגון סייברפאנק 2077עם זאת, הסיפור משתנה באופן ניכר. במקרה זה, השיפורים הם רק כמה אחוזים ספורים: מכ-210 פריימים לשנייה לקצת יותר מ-220 במבחני ביצועים מסוימים, או מכ-173 פריימים לשנייה לכ-179 בסצנות ספציפיות אחרות. אנחנו מדברים על... עליות של כ-3-5%שעדיין יתקבלו בברכה משום שהם "בחינם" עבור המשתמש, אך הם כבר לא משנים את החוויה כל כך.

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

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

וקטוריזציה עמוקה וניתוח הוראות: מקרה Geekbench

אחת הדרכים הברורות ביותר להבין מה BOT עושה היא לבחון מה Primate Labs, האחראית על Geekbenchהם בחנו בקפידה כיצד ביצועי הביצועים שלהם השתנו כאשר הכלי של אינטל היה פעיל. לשם כך, הם השתמשו באמולטור פיתוח התוכנה של אינטל (SDE), המודד את מספר וסוג ההוראות שבוצעו.

בהרצה סטנדרטית של Geekbench 6 ללא בוט, הבדיקה ארכה בערך 1,26 טריליון הוראות להשלמה. עם הפעלת BOT, נתון זה ירד לכ-1,08 טריליון, מה שמרמז על הפחתה של כ-14% במספר ההוראות הכולל. במילים אחרות, העבודה נעשית בצורה קומפקטית ויעילה יותר, מבלי לקצץ בתכונות או להזדקק לקיצורי דרך.

כאשר מפרקים את הכלי לפי סוג הוראה, הפילוסופיה של הכלי מתבהרת עוד יותר. מספר ההוראות הסקלריות יורד מכ- 220.000 מיליארד עד כ-84.600 מיליארד, בעוד שהוראות וקטוריות (SSE2, AVX2 וכו') מזנקות מ-1.250 מיליארד לכ-18.300 מיליארד, כלומר, עלייה של פי 13,7 בסוג זה של הוראות.

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

וקטורינג מסיבי זה אינו נעשה באופן עיוור. הוא מבוסס על פרופיל חומרה (HWPGO) ואופטימיזציה לאחר עיבוד בינארי שאינטל מבצעת במעבדות שלה, מה שמסביר מדוע, מבחוץ, BOT נתפס כ... קופסה שחורה מתוחכמת למדיהמשתמש רואה רק שהמדד או המשחק פועלים מהר יותר, אך אין לו תמונה מדויקת לגבי אילו טרנספורמציות הוחלו על נתיב הביצוע.

תואם למספר מצומצם של משחקים, בלעדי ל-Arrow Lake Refresh, ודורש הפעלה ידנית.

למרות הפוטנציאל שלו, לכלי יש כמה מגבלות בולטות. הראשונה היא שלפחות בשלב ראשוני זה, תאימות Intel BOT מוגבלת לרשימה קצרה של משחקיםשל כתריסר כותרים נבחרים. אינטל רמזה כי תרחיב את הקטלוג, אך נכון לעכשיו ההיקף מוגבל למדי.

המגבלה החשובה השנייה היא שמדובר ב- תכונה בלעדית של מעבדי Arrow Lake Refresh (Core Ultra 200S Plus), כאשר תמיכת לינוקס תלויה בפתרונות כגון פרוטון 11זה לא משהו שניתן להפעיל בדורות קודמים, מה שהופך את BOT לתכונה מבדילה של משפחת מעבדים זו בהשוואה לדגמים קודמים, ובחלקה, בהשוואה למתחרים הישירים.

יתר על כן, על מנת ליהנות מאופטימיזציות אלו, על המשתמש לבצע צעדים מסוימים: נכון לעכשיו, BOT מופעל באמצעות "מצב מתקדם" בתוך חבילת הביצועים של אינטל ודורש הפעלה מחדש של המערכת כדי שהפרופילים יוחלו כהלכה. זה לא תהליך מסובך, אבל הוא רחוק מלהיות שקוף לחלוטין.

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

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

בעיות עם מערכות אנטי-צ'יט וספקות בעולם המידושים

אחת החזיתות העדינות ביותר עבור Intel BOT היא האינטראקציה שלה עם ה- מערכות נגד צ'יטים במשחקים מרובי משתתפיםמכיוון שהכלי משנה את אופן ביצוע הקובץ הבינארי בזמן ריצה, תוכנות אנטי-צ'יט מסוימות, כגון Ricochet או Vanguard, עשויות לפרש אותו כניסיון לתמרן את המשחק ולסמן אותו כהתנהגות חשודה.

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

נקודת מחלוקת מרכזית נוספת התעוררה בתחום מדדי הביצועים הסינתטיים. חברת Primate Labs, החברה שעומדת מאחורי Geekbench, הצהירה כי השימוש בבוטים יכול... לפגוע בתקפות התוצאותמכיוון שזה משנה באופן עמוק את ההתנהגות הצפויה של קובץ ההפעלה. בסביבת ביצועי ביצועים, שבה אמורים למדוד את "הביצועים הטהורים" של המערכת, שכבת אופטימיזציה חיצונית כמו זו משנה את כללי המשחק.

כדי לשמור על שקיפות, Geekbench יסמן במפורש ריצות שבהן הוא מזהה התערבות של Intel BOT. גרסה 6.7 של מדד הביצועים תוסיף דגל ספציפי לזיהוי תוצאות "משופרות על ידי BOT"כך שניתן יהיה להבחין ביניהן בקלות ממדידות קונבנציונליות ולא לערבב אותן בדירוגים ללא הבהרה מתאימה.

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

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

יתרונות מעשיים ועתיד של Intel BOT בהשוואה למתחרים

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

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

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

האתגר הגדול לעתיד יהיה שלהם מדרגיות וקבלה בתעשייהכדי של-Intel BOT תהיה השפעה עצומה באמת, רשימת המשחקים והיישומים הנתמכים תצטרך לגדול משמעותית, ושחקנים מרכזיים במערכת האקולוגית (תוכנות אנטי-צ'יט, מפתחי ביצועים, אולפני פיתוח וכו') יצטרכו להסתגל לקיומה של שכבת תוכנה חדשה זו.

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

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

Artaculo relacionado:
האץ את המשחקים שלך כמו לעזאזל עם Wise Game Booster