„Intel“ dvejetainių failų optimizavimo įrankis: kaip jis maksimaliai išnaudoja jūsų žaidimus ir etalonus

  • „Intel“ dvejetainių failų optimizavimo įrankis optimizuoja jau sukompiliuotus dvejetainius failus neliesdamas originalaus .exe failo, pertvarkydamas instrukcijas ir pagerindamas vektorizavimą.
  • Įrankis remiasi HWPGO ir „Intel“ laboratorijose sugeneruotais profiliais, pasiekdamas beveik 8 % vidurkius ir daugiau nei 20 % žaidimuose.
  • Dabartinė jo apimtis ribota: palaikoma nedaug žaidimų, išskirtinai skirtų „Arrow Lake Refresh“, ir problemų su apsaugos nuo sukčiavimo programomis bei lyginamosios analizės testais, tokiais kaip „Geekbench“.
  • Jei bus išplėstas jo suderinamumas ir išspręstos skaidrumo problemos, tai galėtų tapti pagrindiniu „Intel“ našumo strategijos ramsčiu.

„Intel“ dvejetainių failų optimizavimo įrankis

Naujieji „Intel Core Ultra 200S Plus“ procesoriai, žinomi kaip „Arrow Lake Refresh“, suteikia ne tik GHz dažnį ir branduolius. Jie taip pat turi labai specifinę programinę įrangą: „Intel“ dvejetainių failų optimizavimo įrankis arba BOT/IBOT, technologija, sukurta dar labiau pagerinti našumą realiomis sąlygomis, ypač žaidimai su kukliais GPU ir didelius darbo krūvius, kūrėjams nereikalaujant paliesti nė vienos kodo eilutės.

Šis požiūris įdomus, nes jis sutelkia dėmesį į tai, kaip dvejetainiai failai vykdomi centriniame procesoriuje, o ne tik į paties lusto galią. Užuot perkompiliavus programas ar atnaujinus žaidimus, „Intel“ siūlo sluoksnį... jau sukompiliuoto kodo dinaminis optimizavimas Ši technologija veikia tarp vykdomojo failo ir procesoriaus, pertvarkydama instrukcijas ir geriau išnaudodama vidinę mikroarchitektūrą. Visa tai atveria labai įdomią diskusiją: ar vis dar „sąžininga“ lyginti procesorius, jei vienas iš jų naudoja tokią agresyvią paramą?

Kas tiksliai yra „Intel“ dvejetainių failų optimizavimo įrankis ir kuo jis skiriasi nuo kitų optimizavimo įrankių?

„Intel“ dvejetainių failų optimizavimo įrankis iš esmės yra jau sukompiliuotiems dvejetainiams failams pritaikytas intelektualaus vertimo ir optimizavimo sluoksnisJis neperkompiliuoja, nedekompiliuoja ir nemodifikuoja originalaus žaidimo ar programos vykdomojo failo, tačiau pakeičia dvejetainio failo maitinimo į procesorių būdą, kad jis veiktų efektyviau.

Idėja kyla iš esminės problemos, egzistuojančios jau daugelį metų: daugelis žaidimų ir programų yra kuriami atsižvelgiant į šiuos aspektus: senesnės architektūros, konsolės arba bendriniai procesoriaiDėl to, paleidus juos modernioje įrangoje, tokioje kaip „Arrow Lake Refresh“, procesoriaus galia nėra pilnai išnaudojama. Gali atsirasti neefektyvumas, šakų numatymo klaidos, prastas talpyklos naudojimas arba tiesiog trūksta vektorizacijos ten, kur ji galėtų būti.

Užuot taikiusi tradicines kompiliatorių optimizacijas ar kūrėjų pataisas, BOT siūlo, kad „Intel“ savo laboratorijose... Išanalizuokite šiuos darbo krūvius mikroarchitektūros lygmeniu ir sugeneruoti optimizuotą kodo versiją, tačiau neliesdami diske esančio .exe failo.

Prekės ženklo programinės įrangos ekosistemoje BOT jungia tokius įrankius kaip „Intel Application Optimizer“ (APO) ir kitus našumo paketo komponentus. Nors APO daugiausia dėmesio skiria branduolio ir gijų paskirstymas ir sąveika su planuokliu Operacinėje sistemoje BOT veikia dar žemiau, pačiame CPU vykdomų instrukcijų sraute, todėl abi sistemos viena kitą papildo, o ne persidengia.

„Intel BOT“ vidinis veikimas

Kaip „Intel BOT“ veikia viduje: HWPGO, mikroarchitektūra ir dvejetainiai profiliai

„Intel BOT“ techninis variklis remiasi požiūriu, Aparatinės įrangos pagrindu veikiantis profiliu pagrįstas optimizavimas (HWPGO)Paprastai tariant, „Intel“ analizuoja dvejetainių failų elgseną, kai jie veikia jos architektūroje, aptinka kliūtis ir, remdamasi šia informacija, sukuria optimizuotą mašininio kodo versiją.

Šios analizės metu išsamiai stebimi tokie dalykai kaip šakų prognozavimo gedimai, srauto burbulai, talpyklos delsa ir prastas išankstinio įkėlimo naudojimas. Kai nustatomi neefektyvūs modeliai, sistema sukuria korekcinis profilis, kuris pertvarko instrukcijas siekiant sumažinti šias problemas. Tikslas yra ne atlikti mažiau darbo ar „praleisti“ operacijas, o atlikti tą patį darbo kiekį taip, kad CPU galėtų išlaikyti daug didesnį efektyvų IPC.

Svarbiausias aspektas yra tai, kad visas šis profiliavimo procesas vyksta ne jūsų kompiuteryje, o „Intel“ laboratorijose. Naudodama optimizavimo po susiejimo metodus, bendrovė generuoja pertvarkyti dvejetainiai kodai su patobulintu instrukcijų tankiuŠie profiliai yra specialiai sukurti jų naujausių lustų mikroarchitektūroms. Tada jie platinami kaip našumo paketo dalis, kad vartotojas galėtų juos aktyvuoti.

Jūsų kompiuteryje, įjungus „Intel BOT“, fone veikia vartotojo režimo paslauga. Ši paslauga yra atsakinga už stebėti, kada išleidžiami suderinami dvejetainiai failai ir nukreipti jo vykdymą į „Intel“ sukurtus optimizuotus kelius. Jūsų standžiajame diske esantis .exe failas nepakeičiamas: pasikeičia tik kelias, kuriuo instrukcijos seka vykdymo metu, panašiai kaip grafikos tvarkyklė tam tikruose žaidimuose pakeičia šešėliavimo elementus optimizuotomis versijomis.

Techniškai įrankis veikia kaip savotiškas dinaminis vykdymo srauto optimizavimo įrankis, pasitelkdamas vidines „Arrow Lake Refresh“ mikroarchitektūros žinias. Jis neveikia kaip klasikinė tvarkyklė ar žaidimo pataisa; tai kažkas tarp jų. pertvarkyti instrukcijų meniu nekeičiant „gabalų“, tik tvarka, kuria jie pateikiami procesoriui.

Ryšys tarp „Intel BOT“, APO ir kitų „Intel“ našumo įrankių

Naujausioje „Intel“ strategijoje BOT nėra vienas: tai platesnio paketo, kuriame egzistuoja ir kitos technologijos, dalis. „Intel Extreme Tuning Utility“ (XTU)„Intel Application Optimizer“ (APO) ir dabar „Intel“ sukurta dvejetainių failų optimizavimo priemonė (IBOT/BOT). Kiekvienas komponentas apima skirtingą našumo aspektą.

XTU daugiausia dėmesio skiria klasikinei pusei CPU spartinimas, įtampos ir parametraiTai yra, pačios aparatinės įrangos derinimas. APO veikia programinės įrangos ir operacinės sistemos lygmenį, kontroliuodamas, kaip gijos ir užduotys paskirstomos tarp skirtingų tipų branduolių (P branduolių, E branduolių), ir stebėdamas išteklių paskirstymą, kad programos, kurioms to labiausiai reikia, gautų naudos iš tinkamos aparatinės įrangos.

BOT, savo ruožtu, eina į dar žemesnį lygį: pats instrukcijų srautas, kurį CPU vykdo konkrečiam dvejetainiam failuiKol APO bando užtikrinti, kad užduotis patektų į teisingą branduolį tinkamu laiku, BOT užtikrina, kad šios instrukcijos būtų išdėstytos ir vektoruotos taip, kad geriausiai atitiktų lusto vidinę architektūrą.

Praktiškai tai reiškia, kad kai žaidimas yra palaikomų žaidimų sąraše ir vartotojas aktyvuoja atitinkamą režimą, APO ir BOT gali dirbti kartuAPO tvarko tinkamą darbo krūvių paskirstymą, o BOT išgauna gautą mašininį kodą. Būtent tokiais atvejais užfiksuotas didžiausias našumo padidėjimas, ypač žaidimuose, kurie prastai pritaikyti „Intel“ hibridinei architektūrai.

Verta paminėti, kad nors BOT filosofija primena APO filosofiją (abu yra programinės įrangos optimizavimas, taikomas „iš išorės“ programai), Jie nėra keičiami ar lygiaverčiai„Intel“ juos pristato kaip papildomus įrankius, skirtus tiksliai suderinti kiekvieną našumo paketo sluoksnį: nuo aparatinės įrangos ir jos konfigūracijos (XTU) iki procesų paskirstymo (APO) ir paties mašininio kodo reorganizavimo (BOT).

Žaidimų našumo padidėjimas: nuo kuklių patobulinimų iki įspūdingų šuolių

„Intel“ teigia, kad pirmoje palaikomų žaidimų partijoje dvejetainių failų optimizavimo įrankis pasiekia vidutinis maždaug 8 % pagerėjimas žaidimuosesu daug didesniais pikais konkrečiuose scenarijuose. Kol kas kalbame apie sutrumpintą, maždaug 12 žaidimų, sąrašą, tačiau pradiniai rezultatai stulbinantys.

Vienas iš dažniausiai cituojamų pavyzdžių yra Shadow of the Tomb RaiderDėl originalaus optimizavimo šis žaidimas ne iki galo išnaudojo šiuolaikinių „Intel“ procesorių hibridinę architektūrą. Naudojant APO + BOT derinį, kai kuriuose etalonuose buvo išmatuotas maždaug 22 % ir dar didesnis padidėjimas, pavyzdžiui, kai FPS šoktelėjo nuo 298 iki 375 kadrų per sekundę, t. y. beveik 26 % šuolis.

Modernesniame žaidime, geriau optimizuotame dabartiniams procesoriams, pvz. Cyberpunk 2077Tačiau istorija gerokai pasikeičia. Šiuo atveju patobulinimai tesiekia kelis procentinius punktus: nuo maždaug 210 FPS iki kiek daugiau nei 220 tam tikruose testuose arba nuo maždaug 173 FPS iki maždaug 179 kitose konkrečiose scenose. Kalbame apie... padidėjimas apie 3–5 %kurie vis dar laukiami, nes yra „nemokami“ vartotojui, tačiau nebe taip jau keičia patirties.

Šie skaičiai rodo, kad BOT nėra nei stebuklinga, nei juodoji magija, o veikiau Tai labai priklauso nuo to, kaip blogai (ar gerai) optimizuotas pradinis žaidimas.Kai originalus dvejetainis failas smarkiai nesuderinamas su „Intel“ architektūra, poveikis gali būti dramatiškas. Kai BOT gana gerai suderintas, jis išspaudžia tik kelis papildomus FPS, kurie vis tiek gali turėti įtakos kritinėse situacijose arba esant dideliems atnaujinimo dažniams.

Be žaidimų pasaulio, pastebimas poveikis pastebėtas ir tam tikrose daug išteklių reikalaujančiose programose, tokiose kaip Objektų šalinimo arba HDR apdorojimaskur laboratoriniai tyrimai rodo padidėjimą, kuris gali siekti 30 % dėl agresyvesnės iš pradžių skaliarinių kodo sekcijų vektorizacijos.

Gilus vektorizavimas ir instrukcijų analizė: „Geekbench“ atvejis

Vienas aiškiausių būdų suprasti, ką veikia BOT, yra pažvelgti į tai, už ką atsakinga „Primate Labs“ GeekbenchJie kruopščiai ištyrė, kaip keitėsi jų etaloninis našumas, kai buvo aktyvus „Intel“ įrankis. Tam jie naudojo „Intel“ programinės įrangos kūrimo emuliatorių (SDE), kuris matuoja vykdomų instrukcijų skaičių ir tipą.

Standartiniame „Geekbench 6“ paleidime be roboto testas užtruko maždaug 1,26 trilijono instrukcijų užbaigti. Įjungus BOT, šis skaičius sumažėjo iki maždaug 1,08 trilijono, o tai reiškia, kad bendras instrukcijų skaičius sumažėjo maždaug 14 %. Kitaip tariant, darbas atliekamas kompaktiškiau ir efektyviau, neribojant funkcijų ir nesinaudojant trumpesniais būdais.

Suskirstius pagal instrukcijų tipą, įrankio filosofija tampa dar aiškesnė. Skaliarinių instrukcijų skaičius sumažėja nuo maždaug 220.000 milijardų iki maždaug 84.600 milijardo, o vektorinių instrukcijų (SSE2, AVX2 ir kt.) skaičius šoktelėjo nuo 1.250 milijardo iki maždaug 18.300 milijardo, tai yra, šio tipo instrukcijų skaičius padidėjo maždaug 13,7 karto.

Tai aiškiai rodo, kad BOT daugiausia skirtas konvertuoti neefektyvius skaliarinio kodo segmentus į vektorinį kodą ...kuri leidžia geriau išnaudoti „Intel“ procesorių SIMD modulius. Anksčiau buvo atliekama daug paprastų, pasikartojančių operacijų, o dabar jos sugrupuotos į vektorines operacijas, kurios lygiagrečiai apdoroja kelis duomenų taškus – tai puikiai dera su naujausių įmonės mikroarchitektūrų vidiniu dizainu.

Šis masinis vektorizavimas nėra atliekamas aklai. Jis pagrįstas aparatinės įrangos profiliavimu (HWPGO) ir dvejetainio lygio optimizavimu po optimizavimo, kurį „Intel“ atlieka savo laboratorijose, todėl iš išorės BOT yra suvokiamas kaip... gana sudėtinga juoda dėžutėVartotojas mato tik tai, kad etalonas arba žaidimas veikia greičiau, bet tiksliai nežino, kokios transformacijos buvo pritaikytos vykdymo keliui.

Suderinamas su keliais žaidimais, išskirtinis „Arrow Lake Refresh“ žaidimas, reikalauja rankinio aktyvinimo.

Nepaisant savo potencialo, įrankis turi keletą pastebimų apribojimų. Pirmasis yra tas, kad bent jau šiame pradiniame etape, „Intel BOT“ suderinamumas ribojamas iki trumpo žaidimų sąrašomaždaug dešimties atrinktų pavadinimų. „Intel“ užsiminė, kad išplės katalogą, tačiau kol kas apimtis gana ribota.

Antras svarbus apribojimas yra tas, kad tai yra išskirtinė „Arrow Lake Refresh“ procesorių („Core Ultra 200S Plus“) savybė, o „Linux“ palaikymas priklauso nuo tokių sprendimų kaip Protonas 11Tai nėra kažkas, ką galite aktyvuoti ankstesnėse kartose, todėl BOT yra šios CPU šeimos skiriamasis bruožas, palyginti su ankstesniais modeliais ir iš dalies, palyginti su tiesioginiais konkurentais.

Be to, norėdamas pasinaudoti šiais optimizavimais, vartotojas turi atlikti tam tikrus veiksmus: šiuo metu BOT aktyvuojamas per „Išplėstinis režimas“ „Intel“ našumo pakete ir norint, kad profiliai būtų tinkamai pritaikyti, reikia paleisti sistemą iš naujo. Tai nėra sudėtingas procesas, bet toli gražu ne visiškai skaidrus.

„Intel“ tvirtino norinti, kad galutinė patirtis būtų kuo automatizuota, ir iš tiesų didelė dalis magijos įvyksta tyliai, kai tik ją nustatote, tačiau kol kas yra tam tikras komponentas sudėtingumas ir išskirtinumas o tai riboja jo didžiulį poveikį mažiau entuziastingiems vartotojams arba tiems, kurie mažiau nori liesti išplėstinius nustatymus.

Kitas aspektas, į kurį reikia atsižvelgti, yra tai, kad veikdamas tokiame žemame dvejetainio failo vykdymo kelyje, BOT šiuo metu yra uždrausta daugelyje jautrių aplinkųypač internetiniuose žaidimuose su labai griežtomis kovos su sukčiavimu sistemomis.

Problemos su apsaugos nuo sukčiavimo sistemomis ir abejonės lyginamosios analizės pasaulyje

Vienas jautriausių „Intel BOT“ aspektų yra jo sąveika su Apsaugos nuo sukčiavimo sistemos kelių žaidėjų žaidimuoseKadangi įrankis modifikuoja dvejetainio failo vykdymą vykdymo metu, kai kurios apsaugos nuo sukčiavimo programos, pvz., „Ricochet“ ar „Vanguard“, gali jį interpretuoti kaip bandymą manipuliuoti žaidimu ir pažymėti kaip įtartiną elgesį.

Tai reiškia, kad kol kas, BOT gali netikti konkurencingiems internetiniams žaidimamskur svarbiausias prioritetas yra klientų sąžiningumas. Kol „Intel“ ir sukčiavimo prevencijos sistemų tiekėjai aiškiai nesupras arba nebus sukurti konkretūs metodai, užtikrinantys, kad šie optimizavimai nesuteikia nesąžiningų pranašumų, ši funkcija greičiausiai bus taikoma tik vieno žaidėjo žaidimams arba žaidimams be tokių agresyvių sukčiavimo prevencijos sistemų.

Kitas svarbus ginčytinas klausimas kilo sintetinių etalonų srityje. „Primate Labs“, bendrovė, sukūrusi „Geekbench“, pareiškė, kad robotų naudojimas gali pakenkti rezultatų pagrįstumuines tai iš esmės pakeičia numatomą vykdomojo failo elgesį. Lyginamosios analizės aplinkoje, kurioje turėtų būti matuojamas sistemos „grynasis našumas“, toks išorinis optimizavimo sluoksnis pakeičia žaidimo taisykles.

Siekdama išlaikyti skaidrumą, „Geekbench“ aiškiai pažymės paleidimus, kuriuose aptiks „Intel BOT“ įsikišimą. 6.7 versijos etaloniniame teste bus pridėtas speciali žymė, skirta „BOT patobulintiems“ rezultatams identifikuotikad juos būtų galima lengvai atskirti nuo įprastų matavimo priemonių ir nebūtų sumaišyti su reitingais be tinkamo paaiškinimo.

Ši situacija atveria įdomią diskusiją apie tai, kaip turėtume interpretuoti etalonus eroje, kai optimizavimo programinė įranga gali iš esmės pertvarkyti procesoriaus atliekamą darbąRiba tarp „tikrųjų“ aparatinės įrangos galimybių ir programinės įrangos teikiamos pagalbos nyksta, ir tai verčia mus permąstyti, ką tiksliai matuojame, lygindami du procesorius su labai skirtingomis konfigūracijomis.

Tačiau galutinio vartotojo požiūriu, diskusija yra mažiau filosofinė: jei žaidimas ar programa jų kompiuteryje veikia pastebimai greičiau, nes „Intel“ pavyko patobulinti vykdymo kelią neprarandant kokybės ar funkcijų, jausmas bus tiesiog toks, kad "Jo procesorius veikia geriau"nors dalis šio nuopelno tenka dvejetainiam optimizavimo sluoksniui, o ne vien silicio.

Praktiniai „Intel BOT“ privalumai ir ateitis, palyginti su konkurentais

Žvelgiant į platesnį vaizdą, BOT pateikiamas kaip savotiškas „slaptasis ginklas“, skirtas „Intel“ padengti dalį našumo skirtumo susiduria su labai stipriomis konkurentų alternatyvomis, ypač žaidimuose, prieš atsirandant būsimoms architektūroms, tokioms kaip „Nova Lake“ ir jos žadėtoji BLLC.

Pagrindinis įrankio privalumas yra tas, kad kai originalus vykdomasis failas yra prastai optimizuotas „Intel“ architektūrai, Pelnas gali būti milžiniškas. be vartotojo poreikio ką nors modifikuoti pačiame žaidime, o kūrėjui nereikia išleisti konkretaus pataisymo. Tai būdas atkurti prarastą našumą žaidimuose, kurie iš pradžių buvo sukurti kitoms platformoms ar konsolėms.

Be to, BOT nesumažina vaizdo kokybės, iškarpų ar fizikos: programos funkcija išlieka ta pati. Kas keičiasi, tai instrukcijų organizavimas, kad procesorius... užimtesnis atliekant naudingą darbą ir mažiau laukiant. per duomenis, talpyklas arba prognozavimo priemones. Žaidimo patirties požiūriu tai reiškia stabilesnį FPS ir, kai kuriais atvejais, mažesnį našumo skirtumą sudėtingose ​​scenose.

Didžiausias ateities iššūkis bus jos mastelio keitimas ir pripažinimas pramonėjeKad „Intel BOT“ turėtų išties didžiulį poveikį, palaikomų žaidimų ir programų sąrašas turės gerokai išaugti, o pagrindiniai ekosistemos dalyviai (apsaugos nuo sukčiavimo programinė įranga, etalonų kūrėjai, kūrimo studijos ir kt.) turės prisitaikyti prie šio naujo tarpinės programinės įrangos sluoksnio egzistavimo.

Taip pat bus įdomu pamatyti, kaip reaguos konkurentai. Jei ši dvejetainio optimizavimo strategija pasirodys veiksminga ir bus gerai įvertinta rinkos, nebūtų keista, jei kitos įmonės išnagrinėtų panašias strategijas. panašūs kodo po optimizavimo sprendimai arba giliau pasinerkite į tvarkyklių ir tarpinių sluoksnių naudojimą, kad išnaudotumėte visas aparatinės įrangos galimybes.

Apskritai „Intel“ dvejetainių failų optimizavimo įrankis rodo didelį potencialą tiems, kurie nori išspausti kiekvieną FPS ar papildomą tašką tam tikrose darbo krūvėse, tačiau jis turi didelių neaiškumų dėl suderinamumo, skaidrumo ir apimties. Jei „Intel“ pavyks išplėsti savo palaikymą, patobulinti integraciją su apsaugos nuo sukčiavimo programine įranga ir normalizuoti savo buvimą etalonuose, jis gali tapti... svarbi jų veiklos strategijos dalis ateinančiais metais, neapsiribojant vien tik aparatinės įrangos patobulinimais.

Susijęs straipsnis:
Paspartinkite žaidimus kaip pragaras naudodami „Wise Game Booster“