Narzędzie Intel Binary Optimization Tool: jak najlepiej wykorzystać gry i testy porównawcze

  • Narzędzie Intel Binary Optimization Tool optymalizuje skompilowane pliki binarne bez ingerencji w oryginalny plik .exe, reorganizując instrukcje i ulepszając wektoryzację.
  • Narzędzie wykorzystuje HWPGO i profile generowane w laboratoriach Intela, osiągając średnią na poziomie blisko 8% i szczytową wartość powyżej 20% w grach.
  • Jego obecny zakres jest ograniczony: obsługuje niewiele gier, jest dostępny wyłącznie w Arrow Lake Refresh, a do tego występują problemy z programami anty-cheat i testami porównawczymi, takimi jak Geekbench.
  • Jeśli uda się zwiększyć jego kompatybilność i rozwiązać problemy z przejrzystością, może stać się kluczowym elementem strategii wydajnościowej firmy Intel.

Narzędzie Intel Binary Optimization Tool

Wprowadzenie nowych procesorów Intel Core Ultra 200S Plus, znanych jako Arrow Lake Refresh, oznacza coś więcej niż tylko GHz i rdzenie. Zawierają one również bardzo specyficzne oprogramowanie: Narzędzie Intel Binary Optimization Tool, czyli BOT/IBOTtechnologia zaprojektowana w celu dalszego zwiększenia wydajności w warunkach rzeczywistych, szczególnie w gry z umiarkowanymi procesorami graficznymi i wymagających obciążeń, bez konieczności pisania przez programistów ani jednej linijki kodu.

To podejście jest interesujące, ponieważ koncentruje się na sposobie wykonywania plików binarnych przez procesor, a nie tylko na samej mocy układu. Zamiast rekompilować programy lub łatać gry, Intel proponuje warstwę dynamiczna optymalizacja już skompilowanego kodu Technologia ta działa pomiędzy plikiem wykonywalnym a procesorem, reorganizując instrukcje i lepiej wykorzystując wewnętrzną mikroarchitekturę. Wszystko to otwiera bardzo interesującą debatę: czy nadal „sprawiedliwe” jest porównywanie procesorów, jeśli jeden z nich korzysta z tak agresywnego wsparcia?

Czym właściwie jest narzędzie Intel Binary Optimization Tool i czym różni się od innych narzędzi optymalizacyjnych?

Narzędzie Intel Binary Optimization Tool jest w istocie warstwa inteligentnego tłumaczenia i optymalizacji stosowana do już skompilowanych plików binarnychNie kompiluje, nie dekompiluje ani nie modyfikuje oryginalnego pliku wykonywalnego gry lub aplikacji, ale zmienia sposób, w jaki dane binarne trafiają do procesora, dzięki czemu ten pracuje wydajniej.

Pomysł zrodził się z podstawowego problemu, który istnieje od lat: wiele gier i programów jest tworzonych z myślą o następujących kwestiach: starsze architektury, konsole lub ogólne procesoryW rezultacie, gdy uruchamiasz je na nowoczesnym sprzęcie, takim jak Arrow Lake Refresh, procesor nie jest w pełni wykorzystywany. Występują problemy z wydajnością, błędy przewidywania rozgałęzień, słabe wykorzystanie pamięci podręcznej lub po prostu brak wektoryzacji tam, gdzie mogłaby ona występować.

Zamiast tradycyjnych optymalizacji kompilatora lub poprawek dla programistów firma BOT proponuje, aby Intel we własnych laboratoriach Przeanalizuj te obciążenia na poziomie mikroarchitektury i wygenerować zoptymalizowaną wersję kodu, ale bez modyfikowania pliku .exe, który znajduje się na dysku.

W ekosystemie oprogramowania marki BOT dołącza do narzędzi takich jak Intel Application Optimizer (APO) i innych komponentów pakietu zwiększającego wydajność. Podczas gdy APO koncentruje się głównie na przydział rdzeni i wątków oraz interakcja z harmonogramem BOT działa jeszcze niżej, w systemie operacyjnym, w przepływie instrukcji wykonywanych przez sam procesor, co sprawia, że ​​oba systemy uzupełniają się, zamiast na siebie zachodzić.

Wewnętrzne działanie Intel BOT

Jak wewnętrznie działa Intel BOT: HWPGO, mikroarchitektura i profile binarne

Silnik techniczny Intel BOT opiera się na podejściu Sprzętowa optymalizacja oparta na profilowaniu (HWPGO)Mówiąc prościej, Intel analizuje zachowanie plików binarnych podczas uruchamiania w swojej architekturze, wykrywa wąskie gardła i na podstawie tych informacji generuje zoptymalizowaną wersję kodu maszynowego.

Podczas tej analizy szczegółowo monitorowane są takie czynniki, jak błędy predykcji rozgałęzień, bańki potokowe, opóźnienia w pamięci podręcznej i słabe wykorzystanie prefetchera. Po zidentyfikowaniu nieefektywnych wzorców system tworzy… profil korygujący, który reorganizuje instrukcje Aby zminimalizować te problemy. Celem nie jest wykonywanie mniejszej ilości pracy ani „pomijanie” operacji, ale wykonywanie takiej samej ilości pracy w sposób, który pozwala procesorowi utrzymać znacznie wyższy efektywny IPC.

Kluczowym aspektem jest to, że cały proces profilowania nie odbywa się na komputerze, lecz w laboratoriach Intela. Wykorzystując techniki optymalizacji po połączeniu, firma generuje zrestrukturyzowane kody binarne o ulepszonej gęstości instrukcjiProfile te są specjalnie zaprojektowane dla mikroarchitektur ich najnowszych układów. Są one następnie udostępniane użytkownikowi w ramach pakietu wydajnościowego do aktywacji.

Po aktywacji Intel BOT na Twoim komputerze w tle działa usługa trybu użytkownika. Ta usługa odpowiada za monitoruj, kiedy zostaną wydane kompatybilne pliki binarne i przekierowuje jego wykonywanie do zoptymalizowanych ścieżek utworzonych przez firmę Intel. Plik .exe na dysku twardym nie jest modyfikowany: zmienia się jedynie ścieżka, po której instrukcje podążają w czasie wykonywania, podobnie jak sterownik graficzny zastępuje shadery zoptymalizowanymi wersjami w niektórych grach.

Technicznie rzecz biorąc, narzędzie działa jak rodzaj dynamicznego optymalizatora przepływu wykonywania, wykorzystując wewnętrzną wiedzę o mikroarchitekturze Arrow Lake Refresh. Nie działa jak klasyczny sterownik ani łatka do gry; jest czymś pomiędzy. przeorganizować menu instrukcji bez zmiany „elementów”, jedynie kolejność, w jakiej są dostarczane do procesora.

Związek między Intel BOT, APO i innymi narzędziami Intel do pomiaru wydajności

W najnowszej strategii firmy Intel technologia BOT nie występuje osamotniona: jest częścią większego pakietu, w którym współistnieją inne technologie. Narzędzie Intel Extreme Tuning (XTU)Intel Application Optimizer (APO), a teraz także autorskie narzędzie Intela do optymalizacji binarnej (IBOT/BOT). Każdy komponent odpowiada za inny aspekt wydajności.

XTU skupia się na bardziej klasycznej stronie Podkręcanie procesora, napięcia i parametryOznacza to dostrajanie samego sprzętu. APO działa na warstwie oprogramowania i systemu operacyjnego, kontrolując sposób dystrybucji wątków i zadań pomiędzy różnymi typami rdzeni (rdzenie P, rdzenie E) oraz monitorując alokację zasobów, aby aplikacje, które najbardziej tego potrzebują, korzystały z odpowiedniego sprzętu.

BOT ze swojej strony schodzi na jeszcze niższy poziom: sam przepływ instrukcji, które procesor wykonuje dla określonego pliku binarnegoPodczas gdy APO stara się, aby zadanie trafiło do właściwego jądra we właściwym czasie, BOT dba o to, aby instrukcje były uporządkowane i zwektoryzowane w sposób najlepiej odpowiadający wewnętrznej architekturze układu.

W praktyce oznacza to, że gdy gra znajduje się na liście obsługiwanych tytułów i użytkownik aktywuje odpowiedni tryb, APO i BOT mogą ze sobą współpracowaćAPO zajmuje się odpowiednią alokacją obciążeń, a BOT wyodrębnia wynikowy kod maszynowy. To właśnie w tych scenariuszach odnotowano największy wzrost wydajności, zwłaszcza w grach słabo dostosowanych do hybrydowej architektury Intela.

Warto zauważyć, że chociaż filozofia BOT przypomina filozofię APO (oba są optymalizacjami oprogramowania, które są stosowane „z zewnątrz” aplikacji), Nie są one zamienne ani równoważneFirma Intel przedstawia je jako uzupełniające się narzędzia umożliwiające precyzyjne dostrojenie każdej warstwy stosu wydajnościowego: od sprzętu i jego konfiguracji (XTU), poprzez alokację procesów (APO), aż po reorganizację samego kodu maszynowego (BOT).

Wzrost wydajności w grach: od niewielkich ulepszeń do spektakularnych skoków

Firma Intel twierdzi, że w pierwszej partii obsługiwanych tytułów narzędzie Binary Optimization Tool osiąga średnia poprawa o około 8% w grachz dużo wyższymi szczytami w określonych scenariuszach. Na razie mówimy o ograniczonej liście około 12 gier, ale wstępne wyniki są imponujące.

Jednym z najczęściej cytowanych przykładów jest Shadow of Tomb RaiderTen tytuł, ze względu na swoją pierwotną optymalizację, nie w pełni wykorzystywał hybrydową architekturę nowoczesnych procesorów Intel. Dzięki połączeniu APO + BOT, w niektórych testach odnotowano wzrosty o około 22%, a nawet więcej, przy czym liczba klatek na sekundę (FPS) skakała na przykład z 298 do 375 klatek na sekundę, co stanowiło skok o prawie 26%.

W nowocześniejszej grze, lepiej zoptymalizowanej pod kątem obecnych procesorów, takich jak Cyberpunk 2077Jednak historia zmienia się znacząco. W tym przypadku poprawa wynosi zaledwie kilka punktów procentowych: z około 210 FPS do nieco ponad 220 w niektórych testach porównawczych lub z około 173 FPS do około 179 w innych konkretnych scenach. Mówimy o… wzrosty o około 3-5%które nadal są mile widziane, ponieważ są „darmowe” dla użytkownika, ale nie zmieniają już tak bardzo wrażeń.

Te liczby pokazują, że BOT nie jest ani cudem, ani czarną magią, lecz raczej Wiele zależy od tego, jak źle (lub dobrze) zoptymalizowana jest gra początkowaGdy oryginalny plik binarny jest poważnie niezgodny z architekturą Intela, wpływ może być drastyczny. Przy dobrym dostrojeniu, BOT wyciska tylko kilka dodatkowych klatek na sekundę (FPS), co nadal może mieć znaczenie w sytuacjach krytycznych lub przy wysokich częstotliwościach odświeżania.

Oprócz świata gier, zauważalne efekty zaobserwowano także w niektórych aplikacjach wymagających dużej ilości zasobów, takich jak Usuwanie obiektów lub przetwarzanie HDRgdzie analizy laboratoryjne wskazują na wzrosty, które mogą sięgać 30% dzięki bardziej agresywnej wektoryzacji pierwotnie skalarnych sekcji kodu.

Głęboka wektoryzacja i analiza instrukcji: przypadek Geekbench

Jednym z najwyraźniejszych sposobów zrozumienia, co robi BOT, jest przyjrzenie się temu, co robi firma Primate Labs, odpowiedzialna za GeekbenchSzczegółowo zbadali, jak zmienia się wykonanie ich testu porównawczego, gdy narzędzie Intel jest aktywne. W tym celu wykorzystali emulator Intel Software Development Emulator (SDE), który pozwala im zmierzyć liczbę i typ wykonywanych instrukcji.

W standardowym teście Geekbench 6 bez bota, test trwał około 1,26 biliona instrukcji do ukończenia. Po aktywacji BOT liczba ta spadła do około 1,08 biliona, co oznacza redukcję całkowitej liczby instrukcji o około 14%. Innymi słowy, praca jest wykonywana bardziej kompaktowo i wydajnie, bez konieczności redukowania funkcji i uciekania się do skrótów.

Po rozbiciu na typy instrukcji, filozofia narzędzia staje się jeszcze bardziej oczywista. Liczba instrukcji skalarnych spada z około 220.000 miliardów do około 84.600 miliardapodczas gdy liczba instrukcji wektorowych (SSE2, AVX2 itd.) gwałtownie wzrosła z 1.250 miliarda do około 18.300 miliarda, co stanowi wzrost o około 13,7 raza w przypadku tego typu instrukcji.

Z tego jasno wynika, że ​​BOT jest w dużej mierze poświęcony konwertuj nieefektywne segmenty kodu skalarnego na kod wektorowy co pozwala na lepsze wykorzystanie jednostek SIMD w procesorach Intel. Tam, gdzie wcześniej wykonywano wiele prostych, powtarzalnych operacji, teraz są one grupowane w operacje wektorowe, które przetwarzają wiele punktów danych równolegle, co idealnie wpisuje się w wewnętrzną konstrukcję najnowszych mikroarchitektur firmy.

To masowe wektorowanie nie odbywa się w ciemno. Opiera się na profilowaniu sprzętowym (HWPGO) i postoptymalizacji na poziomie binarnym, którą Intel przeprowadza w swoich laboratoriach. To wyjaśnia, dlaczego z zewnątrz BOT jest postrzegany jako dość wyrafinowana czarna skrzynkaUżytkownik widzi tylko, że test porównawczy lub gra działają szybciej, ale nie ma dokładnego wglądu w to, jakie transformacje zostały zastosowane do ścieżki wykonywania.

Kompatybilny z kilkoma grami, dostępny wyłącznie w Arrow Lake Refresh. Wymaga ręcznej aktywacji.

Pomimo swojego potencjału, narzędzie to ma kilka istotnych ograniczeń. Po pierwsze, przynajmniej w tej początkowej fazie, Zgodność z Intel BOT jest ograniczona do krótkiej listy gierokoło tuzina wybranych tytułów. Intel zapowiedział rozszerzenie katalogu, ale na razie jego zakres jest dość ograniczony.

Drugim ważnym ograniczeniem jest to, że jest to ekskluzywna funkcja procesorów Arrow Lake Refresh (Core Ultra 200S Plus), przy czym obsługa Linuksa zależy od rozwiązań takich jak Proton 11Nie jest to funkcja, której można było aktywować w poprzednich generacjach, co sprawia, że ​​BOT jest cechą wyróżniającą tę rodzinę procesorów w porównaniu do poprzednich modeli, a częściowo także w porównaniu do bezpośredniej konkurencji.

Ponadto, aby móc korzystać z tych optymalizacji, użytkownik musi wykonać pewne kroki: obecnie aktywacja BOT odbywa się za pomocą „Tryb zaawansowany” w pakiecie wydajnościowym Intel i wymaga ponownego uruchomienia systemu, aby profile zostały poprawnie zastosowane. To nie jest skomplikowany proces, ale daleki jest od całkowitej przejrzystości.

Firma Intel upierała się, że chce, aby ostateczne doświadczenie było jak najbardziej automatyczne, i rzeczywiście większość magii dzieje się po cichu po skonfigurowaniu, ale na razie istnieje pewien element złożoność i ekskluzywność co ogranicza jego ogromny wpływ na użytkowników mniej entuzjastycznych lub mniej chętnych do korzystania z zaawansowanych ustawień.

Kolejną kwestią, którą należy wziąć pod uwagę, jest to, że BOT działając na tak niskim poziomie na ścieżce wykonywania pliku binarnego, obecnie zakazane w wielu wrażliwych środowiskachszczególnie w grach online z bardzo rygorystycznymi systemami ochrony przed oszustwami.

Problemy z systemami anty-cheat i wątpliwości w świecie benchmarkingu

Jednym z najdelikatniejszych frontów dla Intel BOT jest jego interakcja z systemy anty-cheat w grach wieloosobowychPonieważ narzędzie to zmienia sposób wykonywania pliku binarnego w czasie rzeczywistym, niektóre programy chroniące przed oszustwami, takie jak Ricochet lub Vanguard, mogą je zinterpretować jako próbę manipulowania grą i oznaczyć jako podejrzane zachowanie.

Oznacza to, że na razie BOT może nie być odpowiedni do gier online o charakterze rywalizacjigdzie uczciwość klienta jest najwyższym priorytetem. Dopóki Intel i dostawcy oprogramowania anty-cheat nie osiągną jasnego porozumienia lub nie opracują konkretnych metod certyfikacji, że te optymalizacje nie wprowadzają nieuczciwych korzyści, funkcja ta prawdopodobnie pozostanie ograniczona do gier dla jednego gracza lub gier bez tak agresywnych systemów anty-cheat.

Kolejny poważny punkt sporny pojawił się w obszarze syntetycznych testów porównawczych. Firma Primate Labs, twórca Geekbench, stwierdziła, że ​​użycie botów może podważyć ważność wynikówPonieważ radykalnie zmienia oczekiwane zachowanie pliku wykonywalnego. W środowisku benchmarkingowym, gdzie mierzona jest „czysta wydajność” systemu, zewnętrzna warstwa optymalizacyjna, taka jak ta, zmienia reguły gry.

Aby zachować transparentność, Geekbench będzie wyraźnie oznaczać przebiegi, w których wykryje interwencję Intel BOT. Wersja 6.7 benchmarku doda specyficzna flaga do identyfikacji wyników „wzmocnionych przez BOT”aby można je było łatwo odróżnić od pomiarów konwencjonalnych i nie mieszano ich z rankingami bez odpowiedniego wyjaśnienia.

Ta sytuacja otwiera ciekawą debatę na temat tego, jak powinniśmy interpretować testy porównawcze w erze, w której oprogramowanie do optymalizacji może fundamentalnie zmienić kolejność wykonywania pracy przez procesorGranica między „rzeczywistą” wydajnością sprzętu i wsparciem zapewnianym przez oprogramowanie zaciera się, co zmusza nas do ponownego przemyślenia, co dokładnie mierzymy, gdy porównujemy dwa procesory o bardzo różnych konfiguracjach.

Z punktu widzenia użytkownika końcowego dyskusja jest jednak mniej filozoficzna: jeśli gra lub aplikacja działa zauważalnie szybciej na jego komputerze, ponieważ Intelowi udało się ulepszyć ścieżkę wykonywania bez poświęcania jakości lub funkcji, odczucie będzie po prostu takie, że „Jego procesor działa lepiej”chociaż część tej zasługi przypada warstwie optymalizacji binarnej, a nie tylko krzemowi.

Praktyczne zalety i przyszłość Intel BOT w porównaniu z konkurencją

Patrząc na szerszy obraz, BOT jest przedstawiany jako swego rodzaju „tajna broń” firmy Intel zamknąć część luki wydajnościowej stając w obliczu bardzo silnych alternatyw ze strony konkurencji, szczególnie w dziedzinie gier, zanim pojawią się przyszłe architektury, takie jak Nova Lake i obiecana BLLC.

Główną zaletą tego narzędzia jest to, że gdy oryginalny plik wykonywalny jest słabo zoptymalizowany pod kątem architektury Intel, Zyski mogą być ogromne. Bez konieczności modyfikowania czegokolwiek przez użytkownika w samej grze, ani bez konieczności wydawania przez dewelopera specjalnej łatki. To sposób na odzyskanie utraconej wydajności w tytułach pierwotnie zaprojektowanych na inne platformy lub konsole.

Co więcej, BOT nie obniża jakości obrazu, scen przerywnikowych ani fizyki: funkcja programu pozostaje taka sama. Zmienia się jedynie sposób organizacji instrukcji, dzięki czemu procesor... bardziej zajęci pożyteczną pracą i mniej czekaniem. poprzez dane, pamięci podręczne lub predyktory. Z perspektywy rozgrywki przekłada się to na stabilniejszą liczbę klatek na sekundę (FPS) i, w niektórych przypadkach, mniejsze wahania wydajności w złożonych scenach.

Największym wyzwaniem na przyszłość będzie ich skalowalność i akceptacja w branżyAby technologia Intel BOT mogła naprawdę przynieść ogromny sukces, lista obsługiwanych gier i aplikacji będzie musiała znacząco wzrosnąć, a kluczowi gracze w ekosystemie (oprogramowanie anty-heat, twórcy testów porównawczych, studia deweloperskie itd.) będą musieli dostosować się do istnienia tej nowej warstwy pośredniczącej.

Ciekawe będzie również, jak zareaguje konkurencja. Jeśli ta strategia optymalizacji binarnej okaże się skuteczna i zostanie dobrze przyjęta przez rynek, nie byłoby zaskoczeniem, gdyby inne firmy zbadały podobne strategie. podobne rozwiązania po optymalizacji kodu lub zapoznaj się bliżej z wykorzystaniem sterowników i warstw pośrednich, aby w pełni wykorzystać możliwości sprzętu.

Ogólnie rzecz biorąc, narzędzie Intel Binary Optimization Tool ma ogromny potencjał dla tych, którzy chcą wycisnąć z siebie wszystko, co najlepsze w liczbie klatek na sekundę (FPS) lub punkt ekstra w określonych obciążeniach, ale ma wiele niejasności dotyczących kompatybilności, transparentności i zakresu. Jeśli Intelowi uda się rozszerzyć wsparcie, udoskonalić integrację z oprogramowaniem anty-cheat i znormalizować swoją obecność w testach porównawczych, może stać się… kluczowy element ich strategii wydajnościowej w nadchodzących latach, wykraczające poza ulepszenia czysto sprzętowe.

Podobne artykuł:
Przyspiesz swoje gry jak diabli dzięki Wise Game Booster