Inteli binaarse optimeerimise tööriist: kuidas see teie mängudest ja võrdlusalustest maksimumi võtab

  • Inteli binaarfailide optimeerimise tööriist optimeerib juba kompileeritud binaarfaile ilma algset .exe-faili puutumata, reorganiseerides juhiseid ja täiustades vektoriseerimist.
  • Tööriist tugineb HWPGO-le ja Inteli laborites loodud profiilidele, saavutades mängudes keskmiselt ligi 8% ja üle 20%.
  • Selle praegune ulatus on piiratud: vähe toetatud mänge, mis on saadaval ainult Arrow Lake Refreshi jaoks, ning probleemid petuvastaste programmide ja võrdlusalustega nagu Geekbench.
  • Kui selle ühilduvust laiendatakse ja läbipaistvusprobleemid lahendatakse, võib see olla Inteli jõudlusstrateegia võtmeelement.

Inteli binaarfailide optimeerimise tööriist

Uute Intel Core Ultra 200S Plus protsessorite ehk Arrow Lake Refresh saabumine toob kaasa enamat kui lihtsalt GHz-d ja tuumad. Sellega on kaasas ka väga spetsiifiline tarkvara: Inteli binaarfailide optimeerimise tööriist ehk BOT/IBOT, tehnoloogia, mis on loodud reaalse jõudluse edasiseks parandamiseks, eriti mängud tagasihoidlike graafikaprotsessoritega ja nõudlikke töökoormusi, ilma et arendajad peaksid puudutama ühtegi koodirida.

See lähenemisviis on huvitav, kuna see keskendub sellele, kuidas binaarfaile protsessoris käivitatakse, mitte ainult kiibi toorele võimsusele. Programmide uuesti kompileerimise või mängude paikamise asemel pakub Intel välja kihti juba kompileeritud koodi dünaamiline optimeerimine See tehnoloogia toimib käivitatava faili ja protsessori vahel, korraldades juhiseid ümber ja kasutades paremini ära sisemist mikroarhitektuuri. Kõik see avab väga huvitava arutelu: kas protsessorite võrdlemine on ikka "õiglane", kui üks neist kasutab nii agressiivset tuge?

Mis täpselt on Inteli binaarfailide optimeerimise tööriist ja kuidas see erineb teistest optimeerimistest?

Inteli binaarfailide optimeerimise tööriist on sisuliselt juba kompileeritud binaarfailidele rakendatud intelligentse teisendamise ja optimeerimise kihtSee ei kompileeri, dekompileeri ega muuda mängu või rakenduse algset käivitatavat faili uuesti, kuid muudab binaarfailide toiteviisi protsessorile, et see töötaks tõhusamalt.

Idee tuleneb aastaid eksisteerinud põhimõttelisest probleemist: paljud mängud ja programmid on välja töötatud järgmist silmas pidades: vanemad arhitektuurid, konsoolid või üldised protsessoridTulemuseks on see, et kui neid käitada tänapäevasel riistvaral nagu Arrow Lake Refresh, siis protsessori võimsust ei kasutata täielikult ära. Esineb ebatõhusust, harude ennustamise tõrkeid, halba vahemälu kasutust või lihtsalt vektoriseerimise puudumist seal, kus see võiks esineda.

Traditsiooniliste kompilaatori optimeerimiste või arendaja paranduste asemel pakub BOT välja, et Intel oma laborites... Analüüsige neid töökoormusi mikroarhitektuurilisel tasandil ja genereerida koodist optimeeritud versioon, kuid ilma kettal olevat .exe-faili puutumata.

Brändi tarkvaraökosüsteemis ühendab BOT selliseid tööriistu nagu Intel Application Optimizer (APO) ja teisi jõudluskomplekti komponente. Kuigi APO keskendub peamiselt tuuma ja lõime eraldamine ning interaktsioon ajastajaga Operatsioonisüsteemist lähtuvalt toimib BOT veelgi allapoole, protsessoris endas täidetavate juhiste voos, mis muudab mõlemad süsteemid teineteist täiendavaks, mitte kattuks.

Inteli boti sisemine töö

Kuidas Intel BOT sisemiselt töötab: HWPGO, mikroarhitektuur ja binaarprofiilid

Intel BOTi tehniline mootor tugineb lähenemisviisile Riistvarapõhine profiilipõhine optimeerimine (HWPGO)Lihtsamalt öeldes analüüsib Intel binaarfailide käitumist oma arhitektuuril töötades, tuvastab kitsaskohti ja genereerib selle teabe põhjal masinkoodi optimeeritud versiooni.

Selle analüüsi käigus jälgitakse üksikasjalikult selliseid asju nagu harude ennustamise tõrked, torujuhtme mullid, vahemälu latentsused ja halb eellaadija kasutamine. Ebaefektiivsete mustrite tuvastamisel loob süsteem parandusprofiil, mis reorganiseerib juhiseid nende probleemide minimeerimiseks. Eesmärk ei ole teha vähem tööd või "vahele jätta" toiminguid, vaid teha sama palju tööd viisil, mis võimaldab protsessoril säilitada palju kõrgemat efektiivset IPC-d.

Oluline aspekt on see, et kogu see profiilimisprotsess ei toimu teie arvutis, vaid Inteli laborites. Lingijärgse optimeerimise tehnikate abil genereerib ettevõte ümberstruktureeritud binaarkoodid parema käskude tihedusegaNeed profiilid on spetsiaalselt loodud nende uusimate kiipide mikroarhitektuuride jaoks. Seejärel levitatakse neid jõudluspaketi osana, et kasutaja saaks need aktiveerida.

Kui teie arvutis aktiveerite Intel BOTi, töötab taustal kasutajarežiimi teenus. See teenus vastutab järgmise eest: jälgige ühilduvate binaarfailide väljaandmist ja suunata selle täitmise Inteli loodud optimeeritud radadele. Teie kõvakettal olevat .exe-faili ei muudeta: muutub vaid rada, mida käsud käitusajal järgivad, sarnaselt sellele, kuidas graafikadraiver asendab teatud mängudes varjutajad optimeeritud versioonidega.

Tehniliselt käitub tööriist nagu omamoodi dünaamiline täitmisvoo optimeerija, mis kasutab ära oma sisemisi teadmisi Arrow Lake Refreshi mikroarhitektuuri kohta. See ei toimi klassikalise draiveri ega mänguparandusena; see on midagi vahepealset. ümberkorraldada juhiste menüüd ilma "tükke" muutmata, ainult järjekord, milles neid protsessorile serveeritakse.

Intel BOTi, APO ja teiste Inteli jõudlustööriistade seos

Inteli hiljutises strateegias ei tule BOT üksi: see on osa laiemast paketist, kus eksisteerivad koos ka teised tehnoloogiad. Intel Extreme Tuning Utility (XTU)Inteli rakenduste optimeerija (APO) ja nüüd Inteli enda binaaroptimiseerimise tööriist (IBOT/BOT). Iga komponent hõlmab jõudluse erinevat aspekti.

XTU keskendub klassikalisemale poolele Protsessori ülekiirendamine, pinged ja parameetridSee tähendab riistvara enda häälestamist. APO toimib tarkvara ja operatsioonisüsteemi kihile, kontrollides, kuidas lõimed ja ülesanded jagunevad erinevat tüüpi südamike (P-südamikud, E-südamikud) vahel, ning jälgides ressursside jaotust nii, et rakendused, mis seda kõige rohkem vajavad, saaksid sobivast riistvarast kasu.

BOT läheb omalt poolt veelgi madalamale tasemele: käskude voog, mida protsessor konkreetse binaarfaili jaoks täidabSamal ajal kui APO püüab panna ülesande õigel ajal õigesse kerneli langema, tagab BOT, et need juhised on järjestatud ja vektoriseeritud viisil, mis sobib kõige paremini kiibi sisemise arhitektuuriga.

Praktikas tähendab see seda, et kui mäng on toetatud mängude loendis ja kasutaja aktiveerib vastava režiimi, APO ja BOT saavad koos töötadaAPO tegeleb töökoormuste õige jaotamise ja BOT ekstraheerib saadud masinkoodi. Just nendes stsenaariumides on registreeritud kõige märkimisväärsemad jõudluse kasvud, eriti mängudes, mis on Inteli hübriidarhitektuurile halvasti kohandatud.

Väärib märkimist, et kuigi BOT-i filosoofia meenutab APO filosoofiat (mõlemad on tarkvara optimeerimised, mida rakendatakse rakendusest "väljastpoolt"), Need ei ole omavahel asendatavad ega samaväärsedIntel esitleb neid täiendavate tööriistadena jõudluspaketi iga kihi peenhäälestamiseks: alates riistvarast ja selle konfiguratsioonist (XTU) kuni protsesside jaotamiseni (APO) kuni masinkoodi enda reorganiseerimiseni (BOT).

Mängujõudluse kasv: tagasihoidlikest edusammudest kuni suurejooneliste hüpeteni

Intel väidab, et oma esimeses toetatud pealkirjade partiis saavutab binaaroptimiseerimise tööriist keskmine umbes 8% paranemine mängudesteatud stsenaariumides on tipphetked palju kõrgemad. Praegu räägime vähendatud nimekirjast, umbes 12 mängust, kuid esialgsed tulemused on rabavad.

Üks enim viidatud näiteid on Tomb Raider varjuSee mäng ei kasutanud oma algse optimeerimise tõttu täielikult ära tänapäevaste Inteli protsessorite hübriidarhitektuuri. APO + BOT kombinatsiooniga on mõnes võrdlustestis mõõdetud umbes 22% ja isegi rohkem kasvu, näiteks on esinenud juhtumeid, kus FPS hüppas 298-lt 375 kaadrile sekundis, mis tähendab peaaegu 26% hüpet.

Moodsamas mängus, mis on paremini optimeeritud praeguste protsessorite jaoks, näiteks Cyber ​​2077Lugu muutub aga märkimisväärselt. Antud juhul on paranemine vaid mõni protsent: umbes 210 kaadrit sekundis (FPS) teatud võrdlusalustes veidi üle 220 või umbes 173 kaadrit sekundis (FPS) teistes konkreetsetes stseenides umbes 179 kaadrini (FPS). Me räägime... umbes 3–5% suureneminemis on endiselt teretulnud, kuna on kasutaja jaoks "tasuta", kuid ei muuda enam kogemust nii palju.

Need arvud näitavad, et BOT ei ole ei imetegu ega must maagia, vaid pigem See sõltub palju sellest, kui halvasti (või hästi) on algmäng optimeeritud.Kui algne binaarfail on Inteli arhitektuuriga tugevalt valesti joondatud, võib mõju olla dramaatiline. Kui see on üsna hästi häälestatud, pigistab BOT välja vaid paar lisakaadrisagedust, mis võib kriitilistes olukordades või kõrge värskendussageduse korral siiski olulist rolli mängida.

Lisaks mängumaailmale on märkimisväärseid mõjusid täheldatud ka teatud ressursimahukates rakendustes, näiteks Objekti eemaldaja või HDR-töötluskus laboratoorsed analüüsid näitavad suurenemist, mis võib ulatuda 30% -ni tänu algselt skalaarsete koodilõikude agressiivsemale vektoriseerimisele.

Sügavvektoriseerimine ja käskude analüüs: Geekbenchi juhtum

Üks selgemaid viise BOT-i tegevuse mõistmiseks on vaadata, mille eest vastutab Primate Labs. GeekbenchNad uurisid põhjalikult, kuidas nende võrdlusnäitajate jõudlus Inteli tööriista aktiivsuse ajal muutus. Selleks kasutasid nad Inteli tarkvaraarenduse emulaatorit (SDE), mis mõõdab täidetavate käskude arvu ja tüüpi.

Tavalises Geekbench 6 testis ilma botita kulus umbes 1,26 triljonit käsku lõpuleviimiseks. BOT-i aktiveerimisega langes see arv umbes 1,08 triljonini, mis tähendab käskude koguarvu ligikaudu 14% vähenemist. Teisisõnu, tööd tehakse kompaktsemalt ja tõhusamalt, ilma funktsioone kärpimata või otseteid kasutamata.

Kui see käsutüübi järgi lahti võtta, muutub tööriista filosoofia veelgi selgemaks. Skalaarsete käskude arv langeb umbes 220.000 miljardilt umbes 84.600 miljardile, samas kui vektorkäskude (SSE2, AVX2 jne) arv kasvab hüppeliselt 1.250 miljardilt umbes 18.300 miljardile, mis on seda tüüpi käskude arv umbes 13,7-kordne kasv.

See teeb üsna selgeks, et BOT on suuresti pühendunud teisendab ebaefektiivsed skalaarkoodi segmendid vektoriseeritud koodiks mis kasutab Inteli protsessorite SIMD-üksusi paremini ära. Kui varem tehti palju lihtsaid ja korduvaid toiminguid, siis nüüd on need rühmitatud vektortoiminguteks, mis töötlevad paralleelselt mitut andmepunkti, mis sobib ideaalselt ettevõtte uusimate mikroarhitektuuride sisemise disainiga.

See massiivne vektoriseerimine ei toimu pimesi. See põhineb riistvara profiilimisel (HWPGO) ja binaartaseme järeloptimeerimisel, mida Intel oma laborites teeb, mis selgitab, miks BOT-i väljastpoolt tajutakse kui... üsna keerukas must kastKasutaja näeb ainult seda, et võrdlusalus või mäng töötab kiiremini, kuid tal puudub täpne ülevaade sellest, milliseid teisendusi on täitmisteele rakendatud.

Ühildub väheste mängudega, saadaval ainult Arrow Lake Refreshis ja nõuab käsitsi aktiveerimist.

Vaatamata oma potentsiaalile on tööriistal mitu märkimisväärset piirangut. Esiteks, vähemalt selles algfaasis, Intel BOT-i ühilduvus on piiratud lühikese mängude loendigaumbes tosinast valitud pealkirjast. Intel on andnud mõista, et laiendab kataloogi, kuid praegu on ulatus üsna piiratud.

Teine oluline piirang on see, et see on Arrow Lake Refresh protsessorite (Core Ultra 200S Plus) eksklusiivne funktsioon, kusjuures Linuxi tugi sõltub sellistest lahendustest nagu Prooton 11See pole midagi, mida saate eelmistes põlvkondades aktiveerida, mis teeb BOT-ist selle protsessoripere eristava omaduse võrreldes varasemate mudelitega ja osaliselt ka otseste konkurentidega.

Lisaks peab kasutaja nende optimeeringute nautimiseks tegema teatud samme: praegu aktiveeritakse BOT a kaudu Inteli jõudluspaketi "täiustatud režiim" ja profiilide korrektseks rakendamiseks on vaja süsteemi taaskäivitada. See pole keeruline protsess, kuid kaugeltki mitte täiesti läbipaistev.

Intel on rõhutanud, et soovib, et lõplik kogemus oleks võimalikult automaatne ja suur osa maagiast toimub pärast seadistamist vaikselt, kuid praegu on olemas teatud komponent keerukus ja eksklusiivsus mis piirab selle tohutut mõju vähem entusiastlike kasutajate või nende seas, kes on vähem valmis täpsemaid seadeid puudutama.

Teine kaalutlusväärne punkt on see, et toimides binaarfaili täitmisteel nii madalal tasemel, on BOT praegu paljudes tundlikes keskkondades keelatuderiti võrgumängudes, kus on väga ranged petmisvastased süsteemid.

Probleemid pettusevastaste süsteemidega ja kahtlused võrdlusanalüüside maailmas

Üks Intel BOTi kõige tundlikumaid külgi on selle interaktsioon pettusevastased süsteemid mitmikmängudesKuna tööriist muudab binaarfaili käivitamise viisi käitusajal, võivad mõned pettusevastased programmid, näiteks Ricochet või Vanguard, seda tõlgendada katsena mängu manipuleerida ja märgistada kahtlase käitumisena.

See tähendab, et esialgu BOT ei pruugi sobida konkurentsivõimeliste veebimängude jaokskus kliendi ausus on esmatähtis. Kuni Inteli ja pettusevastaste süsteemide müüjate vahel pole selget arusaama või pole olemas konkreetseid meetodeid, mis kinnitaksid, et need optimeerimised ei too kaasa ebaõiglasi eeliseid, jääb see funktsioon tõenäoliselt piiratuks ühemängijamängude või kogemustega, kus sellised agressiivsed pettusevastased süsteemid puuduvad.

Teine suur vaidluspunkt on tekkinud sünteetiliste võrdlusaluste valdkonnas. Geekbenchi taga olev ettevõte Primate Labs on öelnud, et robotite kasutamine võib kahjustama tulemuste kehtivustsest see muudab põhjalikult käivitatava faili oodatavat käitumist. Võrdlusuuringute keskkonnas, kus peaks mõõtma süsteemi "puhast jõudlust", muudab selline väline optimeerimiskiht mängu.

Läbipaistvuse säilitamiseks märgib Geekbench selgesõnaliselt need käivitused, kus see tuvastab Inteli bottide sekkumise. Võrdlustesti versioon 6.7 lisab spetsiifiline lipp BOT-täiustatud tulemuste tuvastamisekset neid saaks tavapärastest mõõtmistest hõlpsasti eristada ja neid ei segataks edetabelisse ilma korraliku selgituseta.

See olukord avab huvitava arutelu selle üle, kuidas peaksime võrdlusaluseid tõlgendama ajastul, mil optimeerimistarkvara saab protsessori töö põhimõtteliselt ümberjärjestamiseksRiistvara "tegeliku" võimekuse ja tarkvara pakutava abi vaheline piir on hägustumas ning see sunnib meid ümber mõtlema, mida me täpselt mõõdame, kui võrdleme kahte väga erineva konfiguratsiooniga protsessorit.

Lõppkasutaja seisukohast on arutelu aga vähem filosoofiline: kui mäng või rakendus töötab tema arvutis märgatavalt kiiremini, kuna Intel on suutnud täitmisteed parandada ilma kvaliteeti või funktsioone ohverdamata, on tunne lihtsalt selline, et "Selle protsessor töötab paremini"kuigi osa sellest krediidist tuleneb pigem binaarsest optimeerimiskihist kui ainult ränist.

Intel BOTi praktilised eelised ja tulevik võrreldes konkurentidega

Suuremat pilti vaadates esitletakse BOT-i Inteli omamoodi "salajane relvana", et tulemuslikkuse lõhe osaline kaotamine seisab silmitsi konkurentide väga tugevate alternatiividega, eriti mängudes, enne tulevaste arhitektuuride, näiteks Nova Lake'i ja selle lubatud BLLC, saabumist.

Tööriista peamine eelis on see, et kui algne käivitatav fail on Inteli arhitektuuri jaoks halvasti optimeeritud, Kasum võib olla tohutu. ilma et kasutaja peaks mängus endas midagi muutma või arendaja peaks välja andma konkreetset parandust. See on viis kaotatud jõudluse taastamiseks mängudes, mis algselt olid loodud teistele platvormidele või konsoolidele.

Lisaks ei vähenda BOT visuaalset kvaliteeti, vahevideoid ega füüsikat: programmi funktsioon jääb samaks. Muutub see, kuidas juhised on korraldatud nii, et protsessor... kiirem kasuliku töö tegemisel ja vähem ootamist. andmete, vahemälude või ennustajate kaudu. Mängukogemuse seisukohast tähendab see stabiilsemat kaadrisagedust (FPS) ja mõnel juhul ka väiksemat jõudluse varieeruvust keerukates stseenides.

Tuleviku suur väljakutse saab olema selle skaleeritavus ja aktsepteerimine tööstusesSelleks, et Intel BOT-il oleks tõeliselt tohutu mõju, peab toetatud mängude ja rakenduste nimekiri märkimisväärselt kasvama ning ökosüsteemi võtmeisikud (pettusevastane tarkvara, võrdlusaluste arendajad, arendusstuudiod jne) peavad selle uue vahevara kihi olemasoluga kohanema.

Samuti on huvitav näha, kuidas konkurents reageerib. Kui see binaarse optimeerimise strateegia osutub tõhusaks ja turg selle hästi vastu võtab, poleks üllatav, kui ka teised ettevõtted sarnaseid strateegiaid uuriksid. sarnase koodi pärast optimeerimist lahendused või süveneda draiverite ja vahekihtide kasutamisse, et riistvarast maksimumi võtta.

Üldiselt näitab Intel Binary Optimization Tool suurt potentsiaali neile, kes soovivad teatud töökoormustes välja pigistada iga viimase kui kaadrisageduse või lisapunkti, kuid sellel on olulisi halli alasid ühilduvuse, läbipaistvuse ja ulatuse osas. Kui Intelil õnnestub oma tuge laiendada, pettusevastase tarkvaraga integratsiooni täiustada ja võrdlusalustes oma kohalolekut normaliseerida, võib sellest saada... nende tulemusstrateegia oluline osa lähiaastatel, lisaks pelgalt riistvaralisele täiustamisele.

Seotud artikkel:
Kiirendage oma mänge paganaga Wise Game Boosteriga