Door Tomas Hochstenbach

Redacteur processors

Intel Binary Optimization Technology: 'Dit wordt een gamechanger voor cpu's'

24-03-2026 • 14:00

69

Intel Binary Optimization Technology

Als onderdeel van zijn Core Ultra 200 Plus-processors maakt Intel zijn nieuwe Binary Optimization Technology beschikbaar. Daarmee gebeurt iets dat we in processorland niet eerder hebben gezien: de functie past de manier waarop code wordt uitgevoerd aan, waardoor die software sneller gaat werken. In onze review zagen we vaak prestatiewinsten van enkele procenten, maar soms ook uitschieters tot wel 16 procent prestatiewinst.

Tweakers sprak vorige week met drie Intel-medewerkers over de technische werking van iBOT, zoals Intel de techniek zelf afkort. In dit interview leer je hoe iBOT exact werkt, wat het verschil is met het al langer bestaande APO en waarom Intel deze nieuwe optimalisatietechniek ziet als een grote nieuwe pijler voor toekomstige prestatieverbeteringen.

Robbert Hallock

Robert Hallock
Vice-president en general manager
Enthusiast Channel Business

Michael Chynoweth Intel

Michael Chynoweth
Intel Fellow en hoofdingenieur

Erin Maiorino

Erin Maiorino
Directeur technische marketing

Jullie bieden al sinds de 14th Gen Core de Application Optimization-tool (APO) aan om de prestaties van apps en games te verbeteren. Hoe verschilt iBOT van APO?

Hallock: "Eerst even APO: dat is een technologie die op OS-niveau werkt. Het regelt hoeveel threads een game gebruikt en welke prioriteit die krijgen. Veel games bepalen dat zelf via een zogenoemd affinity mask, maar de onderliggende aannames kloppen niet altijd. Een cpu met acht fysieke cores en acht virtuele threads wordt dan bijvoorbeeld gezien als een cpu met zestien fysieke cores.

Door die foute aanname wordt dan een hoop onnodig werk gestart dat de circuits in die cpu helemaal niet efficiënt kunnen verwerken. De overhead van al die threads beheren zorgt er vervolgens voor dat de game juist trager wordt. APO stelt ons in staat om zulke gevallen te identificeren en de cpu beter te laten reageren op de game.

Maar APO kan op architectuurniveau geen fouten in de code oplossen. Daar heb je een andere tool voor nodig. Onze Binary Optimization Tool werkt echt op het uitvoeringsniveau van de microarchitectuur."

Intel Application Optimization werd samen met de 14th Gen Core-processors geïntroduceerd, en staat tegenwoordig standaard ingeschakeld.
Intel Application Optimization werd samen met de 14th Gen Core-processors geïntroduceerd en staat tegenwoordig standaard ingeschakeld.

Chynoweth: "Om nog iets toe te voegen aan wat Rob zei: ik zeg zelf altijd dat APO de hardwarebronnen optimaliseert voor de software en iBOT de software voor de hardware. En het interessante is dat er daartussenin een soort grijs gebied tussen die twee ontstaat, dat we eerlijk gezegd niet helemaal hadden voorzien toen we hiermee begonnen. In dat tussengebied ontstaan allerlei interessante interacties."

Hallock: "APO en iBOT zijn dus verschillende tools voor verschillende problemen, op verschillende lagen van de softwarestack. Zonder die tools zouden gamers in situaties terechtkomen waarin ergens tussen de 5 en 25 procent van de mogelijke prestaties vastzit achter een optimalisatiekeuze die misschien niet goed is voor de cpu die de gebruiker daadwerkelijk heeft. Die prestaties willen we met APO en iBOT teruggeven aan de gebruiker."

Hoe optimaliseert Binary Optimization Technology de software dan voor de hardware?

Hallock: "Het basisidee is dat ontwikkelaars keuzes moeten maken bij de optimalisatie van hun software. Dat gebeurt vaak op een specifieke architectuur of processorserie; alleen goed gefinancierde ontwikkelaars kunnen in hun lab naar een hoop verschillende cpu's kijken. Op welke architectuur een programma of game is geoptimaliseerd, wat soms zelfs consolehardware of een Arm-cpu kan zijn, beïnvloedt wat voor code er wordt gebruikt en welke instructies er worden gebruikt. Ook als code is geoptimaliseerd voor bijvoorbeeld een andere x86-architectuur, kunnen we die nog steeds draaien, maar dat heeft wel grote invloed op de prestaties.

Met iBOT heeft Intel nu een tool om een gecompileerde workload te 'openen'. We kunnen er niets uithalen, maar wel zaken stroomlijnen of herordenen, zodat die beter aansluit op de executionpipeline van moderne Intel-cpu's, bijvoorbeeld zodat de machinecode de cache beter vult of de branchpredictor beter benut. Met iBOT kijken we naar functies daarin die langzamer werken dan zou kunnen, om ze on-the-fly te vervangen door code die beter werkt op Intels x86-architectuur."

Intel iBOT

Misschien is het goed om even te definiëren wat 'machinecode' precies is.

Hallock: "Machinecode is een instructie op een heel diep niveau. Je kijkt dan niet meer naar programmeertaal met context en logica, maar naar een soort handleiding die de cpu vertelt wat hij moet doen. Bijvoorbeeld: spring naar geheugenadres 0x00010 om daar een stukje data op te halen."

Kun je een praktisch voorbeeld geven van hoe iBOT die machinecode kan optimaliseren?

Hallock: "Laten we een hypothetisch voorbeeld nemen van een programma dat iets in cache opslaat. Je ziet links (in onderstaande afbeelding, red.) een eenvoudige 'if-then'-constructie. Als dit kleine stukje data een waarde lager dan 10 heeft, gaat de volgende regel code naar een errorhandler. En als dat niet zo is, doe je in plaats daarvan het normale werk. De 'then' is dus de uitzondering.

Het probleem is alleen dat veel algoritmen voor caching en branchprediction gewoon de volgende regel code – dat then-statement – als uitgangspunt nemen. Maar als die code slechts in 1 procent van de gevallen wordt gebruikt, of zelfs in 0,01 procent van de gevallen, dan cachet de cpu iets en springt hij toe naar iets dat bijna nooit wordt gebruikt. Dat is zonde van de waardevolle cacheruimte en kostbare processortijd."

Hallock: "Een voorbeeld van hoe we dat kunnen herordenen met iBOT is om het then-statement in cold storage te zetten. Je kunt dat verplaatsen naar de L3-cache of zelfs het werkgeheugen, zodat standaard het echte werkpad wordt genomen in de machinecode.

Dan gebeurt dus het volgende: in plaats van eerst de errorhandler uit te voeren, waarmee je de cache vult met dingen die je waarschijnlijk niet gaat gebruiken, vul je de cache met nuttige data die je wél nodig hebt. Je gooit dan geen belangrijke cachelines meer weg voor een heel uitzonderlijk scenario.

Er zijn allerlei voorbeelden zoals dit op het gebied van caching, codehotspots en branchprediction. Maar het idee is dat wij kunnen herstructureren waar en wanneer het minst gebruikte pad in de machinecode terechtkomt, zodat de processor betere beslissingen kan nemen terwijl hij door de code heen loopt."

Als je puur de machinecode bekijkt, weet je alleen niet of een afslag in de praktijk vrijwel altijd of juist bijna nooit wordt genomen. Je moet de code dus draaien en analyseren om te weten wat er gebeurt, lijkt me.

Chynoweth: "Ja, daar komt veel bij kijken. We registreren elke genomen sprong in de code (een branch in jargon, red.) in wat we de lastbranchrecords noemen. Daar zien we welke branches worden genomen, waarvandaan en waarnaartoe, en of die branch goed was voorspeld door de branchpredictor."

Draai je een programma dan op een soort gesimuleerde processor, of op een echte chip zoals consumenten die ook in hun pc hebben zitten?

"Wij gebruiken een echte processor met een echte workload."Hallock: "Daar raak je precies ons voordeel: wij gebruiken een echte processor met een echte workload. Iedereen doet aan code profiling, maar generieke tools daarvoor geven je geen specifieke details over wat er ín de processor gebeurt. Voor bepaalde aspecten van de microarchitectuur ben je gewoon blind.

De zelfontwikkelde tool die wij gebruiken, Intel Hwpgo, gebruikt informatie uit een performance monitoring unit in de hardware. Die geeft informatie over specifieke events en geeft daarbij bijvoorbeeld de adresinformatie en die lastbranchrecords. We kunnen daardoor precies zien waar de bottleneck zit in de processor.

Deze manier om de prestaties te monitoren hebben we ooit bedacht om ontwikkelaars te helpen debuggen, maar met iBOT hebben we er ook een geweldige toepassing voor gebruikers voor gevonden."

Chynoweth: "Wat belangrijk is, is dat je met deze hardwarematige profiling ook echt zeker weet dat je analyse klopt. Voorheen gebruikten ontwikkelaars vaak een instrumented binary met allerlei extra logging. Dat vertraagt de uitvoering echter zeker met een factor drie; ik heb zelfs wel eens een factor tien gezien. Hoe weet je dan nog of de resultaten van je profiling worden veroorzaakt door je eigen debugfeatures of door echte inefficiënties in de code?

Onze metingen hebben minder dan één procent overhead. Hwpgo is zonder twijfel een superieure manier van profileren. Het kost ook nauwelijks prestaties terwijl je het doet en je kunt het toepassen op echte binary's in een productieomgeving."

Wat voor soorten optimalisaties kunnen jullie doen met al die informatie?

Hallock: "De technologie bestaat uit verschillende modules, die je het best kunt zien als een familie van tools die elk op hun eigen manier ingrijpen op architecturale aspecten van software – denk aan branching, caching of codehotspots.

Die modules zijn opvallend generiek, want de problemen die ze aanpakken komen overal in code terug. Welke module wordt ingezet, hangt sterk af van de context: welke compiler is gebruikt, met welke compilerflags, hoe lang geleden de code is gebouwd, waarvoor die destijds bedoeld was en zelfs welke processor de ontwikkelaar destijds zelf op zijn bureau had staan.

Welke modules we precies gebruiken verschilt per workload, maar ze komen allemaal uit dezelfde gereedschapskist en hebben hetzelfde doel: architecturale knelpunten opsporen en oplossen in de code."

Lijst met door iBOT ondersteunde games

  • Assassin's Creed Mirage
  • Borderlands 3
  • Cyberpunk 2077
  • Far Cry 6
  • Final Fantasy XIV: Dawntrail
  • Hitman 3
  • Hogwarts Legacy
  • Marvel's Spider-Man Remastered
  • Naraka: Bladepoint
  • Remnant II
  • Shadow of the Tomb Raider
  • Tiny Tina's Wonderland

Het viel me op dat in het voorlopige lijstje van ondersteunde games weliswaar enkele recente titels staan, zoals Cyberpunk 2077, maar toch voornamelijk oudere games. Daar ligt dus blijkbaar het meeste potentieel. Komt dat doordat ontwikkelaars beter zijn gaan programmeren, of doordat compilers beter worden en nieuwere x86-features zijn gaan gebruiken?

Chynoweth: "Een beetje van alles eigenlijk. Voor iBOT kijken we in de eerste plaats naar games die populair zijn maar inefficiënt draaien. Ook passen we het vooral toe bij titels waarbij we niet de mogelijkheid hebben om met de ontwikkelaars samen te werken. Voor Cyberpunk 2077 hebben we eerder samen met de ontwikkelaars aan een grote patch gewerkt die ongeveer 30 procent prestatiewinst opleverde. Maar neem Shadow of the Tomb Raider, een game waaraan niet langer actief aan wordt ontwikkeld. Toch spelen nog steeds veel mensen die game en we weten dat er specifieke knelpunten zijn die betere prestaties in de weg staan. In zulke gevallen zetten we de Intel Binary Optimization Tool in om die efficiëntie te verbeteren en betere frametimes te realiseren."

Ook ligt de focus tot nu toe vrijwel exclusief op games. Ligt er ook potentie voor iBOT in productieve software?

Hallock: "In theorie komt elke categorie software in aanmerking voor binaryoptimization. Maar daarbij rijzen meteen wat fundamentelere vragen: is het echt de moeite waard? Is de prestatiewinst groot genoeg? Is dit een verstandige inzet van engineeringtijd? En hoe kijkt de community hier tegenaan – zien ze het als iets nuttigs en positiefs of juist niet? Dat zijn filosofischere overwegingen.

In de praktijk maakt het niet zo veel uit of het gaat om creatieve toepassingen, productiviteitssoftware of games: overal waar ruimte is voor optimalisatie, zouden we binaryoptimization kunnen toepassen. Dat is uiteindelijk ook ons doel. Tegelijkertijd beseffen we dat niet-gameworkloads waarschijnlijk een hogere drempel hebben, zeker met hun reputatie, zowel bij gebruikers als in de media. Daarom rollen we deze technologie bewust voorzichtig en methodisch uit en blijft deelname opt-in.

"We weten hoe snel het beeld kan ontstaan van: 'Kijk, Intel zet een feature aan en krijgt daardoor een hogere benchmarkscore.' Dat willen we koste wat kost vermijden."We weten hoe snel het beeld kan ontstaan van: 'Kijk, Intel zet een feature aan en krijgt daardoor een hogere benchmarkscore.' Dat willen we koste wat kost vermijden. We willen laten zien dat het kan, om daarna stap voor stap toe te werken naar een bredere toepassing. Er zit nog enorm veel potentie in deze technologie, maar we kiezen bewust voor een voorzichtige aanpak, zodat de industrie de tijd heeft om te begrijpen wat we doen en het zich geleidelijk kan ontwikkelen."

Dus je wil bijvoorbeeld geen Cinebench-optimalisatie doen, omdat mensen dat als valsspelen zouden kunnen zien?

Chynoweth: "Het moet een positief effect hebben op de eindgebruiker. Cinebench is een renderbenchmark, dus laat ik rendering als voorbeeld nemen. We hebben onlangs Hwpgo toegepast samen met Chaos Group, de ontwikkelaar van de populaire renderer V-Ray. Met soortgelijke optimalisaties als we doen met iBOT hebben we daarbij gemiddeld meer dan 15 procent prestatiewinst behaald. Daar hadden klanten van V-Ray, grote filmstudio's bijvoorbeeld, direct baat bij."

Maiorino: "Dat toont ook aan dat onze engineers vertrouwen hebben opgebouwd bij partners als Chaos Group. Een compilerupdate doorvoeren is namelijk geen kleinigheid; er kan veel misgaan. Mike (Chynoweth, red.) en zijn team hebben uitstekend werk geleverd door dat vertrouwen te winnen en te laten zien dat we in nauwe samenwerking met onze partners extra prestaties willen ontgrendelen. Zo profiteert iedereen van die mooie prestatiewinst."

Je zou denken dat zware cpu-workloads, zoals rendering en videocodering, al zo extreem zijn geoptimaliseerd dat er weinig potentieel meer over is. Maar jullie zien in dat soort taken dus wel een toekomstige rol voor iBOT?

Hallock: "Als we video-encoders als voorbeeld nemen, gaat een groot deel van de optimalisatietijd in zulke projecten zitten in het sneller maken van de encoder zelf, zoals bij de scèneanalyse en het coderen. Daarbij ligt de focus vooral op de algoritmische optimalisatie van de codec die men wil implementeren.

Dat hoeft echter niet per se te betekenen dat er ook specifiek voor een bepaalde cpu-architectuur is geoptimaliseerd. Ontwikkelaars willen dat de encoder goed presteert, maar denken misschien niet aan optimalisaties die specifiek op één architectuur gericht zijn – en bij opensourceprojecten voelen ze daartoe vaak ook geen directe verplichting.

In zulke gevallen blijft er dus zeker nog ruimte over voor verbetering. Een workload kan al intensief generiek geoptimaliseerd zijn, terwijl er met architectuurspecifieke optimalisatie nog veel te halen valt."

Chynoweth: "Juist bij codecs zien wij daardoor soms onze grootste prestatiewinsten, wat dit voor ons een bijzonder interessant domein maakt."

In een eerdere presentatie zeiden jullie dat iBOT nu start met de Core Ultra 200 Plus-cpu's, maar vanaf nu een vaste pijler wordt voor prestatieverbeteringen bij toekomstige cpu-generaties.

Intels Panther Lake-processor
Intel Panther Lake 12 Xe-processor

Hallock: "De eerste lakmoesproef is eigenlijk de vraag: voor welk type product is binaryoptimization zinvol? Dat zal altijd een product zijn dat niet wordt gebottleneckt door de gpu. We passen het bijvoorbeeld niet toe bij Panther Lake 12 Xe, de configuratie met een grote geïntegreerde gpu. Voor een igpu is die heel snel, maar hij zal in veel gevallen wel maximaal benut worden. Dan valt er weinig meer te behalen met binaryoptimization; zelfs als we de cpu nog sneller maken, kan de gpu niet ineens meer frames produceren.

Panther Lake 4 Xe, met een minder krachtige igpu, is juist bedoeld om te combineren met een krachtige losse videokaart. Games zullen in deze systemen dus veel minder snel gebottleneckt worden door de gpu, wat het een geschikter scenario voor iBOT maakt. Wel kijken we per processor wat zinvol is, waardoor de lijst met ondersteunde games kan verschillen tussen bijvoorbeeld Panther Lake voor laptops en de Core Ultra 200 Plus-cpu's voor desktops.

Naar de toekomst toe is de vuistregel dus: als het platform ontworpen is om te werken met een losse videokaart, zullen we iBOT toepassen, zowel bij laptops als bij desktops."

Maar zo'n grafische bottleneck speelt alleen bij games. Hoe zit dat bij optimalisaties voor pure cpu-workloads?

Hallock: "Dat klopt, voor pure cpu-toepassingen kan elk product in principe profiteren van binaryoptimization. Maar we maken ons geen illusies; mensen kopen deze cpu's vooral om te gamen en daarom is de verhouding tussen games en andere software in de supportlijst nu ongeveer 15 om 1."

Je zei al dat iBOT niet standaard aanstaat; het is vooralsnog opt-in. Wat maakt jullie terughoudend?

Hallock: "De geschiedenis barst van de voorbeelden van 'zet een feature aan en krijg meer performance'. Maar diezelfde geschiedenis laat ook zien dat dit lang niet altijd goed afliep.

"Je kunt natuurlijk zeggen: dit is geweldig voor gaming, waarom staat het dan niet gewoon standaard aan?"We begrijpen heel goed dat binaryoptimization op het eerste gezicht op die eerdere pogingen kan lijken. Juist daarom vonden we het essentieel om deze technologie zo conservatief mogelijk te introduceren. We weten dat iBOT fundamenteel verschilt van eerdere pogingen die er misschien oppervlakkig op leken, maar inhoudelijk iets totaal anders deden. Die eerdere voorbeelden brachten risico's met zich mee voor consumenten en voor het vertrouwen van het publiek. Daarom kiezen we ervoor om iBOT voorlopig opt-in te houden, zodat mensen er rustig aan kunnen wennen en goed kunnen begrijpen wat het doet. Misschien schakelen we het op termijn standaard in, maar eerst willen we zien hoe het wordt ontvangen. We vonden dat de juiste, ethische aanpak.

Je kunt natuurlijk zeggen: dit is geweldig voor gaming, waarom staat het dan niet gewoon standaard aan? Maar wij willen het veilig spelen. Dat is volgens ons beter voor onszelf, voor het publiek en voor de industrie als geheel."

Is dat ook vanwege de mogelijkheid dat er nog bijwerkingen zijn die jullie in jullie tests niet hebben gezien, maar waar gebruikers wel tegenaan kunnen lopen? Of is het vooral een kwestie van perceptie en acceptatie?

Hallock: "Vooral dat tweede. Laat duidelijk zijn: we verzamelen geen telemetrie, dus we weten niet wie iBOT aanzet. Wat we wél doen, is heel goed letten op het sentiment: op berichtgeving van jullie, reacties op jullie site, opmerkingen op YouTube, Reddit, X, Bluesky en ga zo maar door. We volgen dat allemaal nauwgezet om te voelen wat mensen ervan vinden. Op basis daarvan kunnen we onze keuzes eventueel aanpassen of juist bevestigen. Dat moeten we nog zien.

"Ik verwacht zelf trouwens dat gebruikers het goed zullen ontvangen. Het zijn tenslotte gratis extra prestaties."Ik verwacht zelf trouwens dat gebruikers het goed zullen ontvangen. Het zijn tenslotte gratis extra prestaties. Maar tegelijk snappen we dat dit heel anders is dan hoe cpu-optimalisatie de afgelopen vijftig jaar gebruikelijk was. Nu hebben we ineens een extra roadmap. We hadden al een hardwareroadmap die leidt tot steeds betere gamingprestaties, maar nu hebben we ook een softwareroadmap die de gamingprestaties verbetert – in hetzelfde tempo of misschien zelfs sneller.

Dat is behoorlijk bijzonder. Er is niets anders zoals dit. Maar als je een grote verandering introduceert, kun je de wereld niet van de ene op de andere dag veranderen. Zo werkt het niet. Dus we willen dit stap voor stap doen."

Tot slot, wat zou onze lezers moeten bijblijven over iBOT?

Chynoweth: "Ik zou zeggen dat iBOT in zekere zin echt een gamechanger is, omdat het gaat veranderen hoe software en hardware met elkaar omgaan. De software draait nu harmonischer samen met de hardware. En met APO wordt de hardware op zijn beurt weer voor de software geoptimaliseerd. Vooruitkijkend zoeken we zelfs al naar extra mogelijkheden in de cpu zelf.

We werken rechtstreeks samen met de cpu-ontwerpers, om te kijken welke informatie de chip in real time aan ons kan teruggeven, op nanosecondenschaal, en hoe we daarmee niet alleen de gemiddelde framerate kunnen verhogen, maar ook de consistentie van frames en andere problemen die de gebruikservaring raken kunnen aanpakken. Daar gaan we in de toekomst nog agressiever op inzetten."

"Het zijn échte extra fps en we weten dat dat voor gamers echt telt."Maiorino: "Van mijn kant wil ik vooral benadrukken dat dit échte fps-winst is. Dit zijn geen fake frames, geen rare AI-dingen die buiten beeld plaatsvinden. Het zijn echte extra fps en we weten dat dat voor gamers echt telt."

Hallock: "Wat ik de lezers van Tweakers vooral wil meegeven, is dat we geen enkel stuk werk dat de binary hoort uit te voeren verwijderen. Alles wat in de broncode stond, gebeurt nog steeds. Er wordt niets overgeslagen. Maar we kunnen wél veel prestatiewinst behalen door ervoor te zorgen dat de code de processor compacter en efficiënter bereikt.

iBOT is dus een heel pure vorm van prestatieoptimalisatie, omdat je alles behoudt zoals het bedoeld was, maar het simpelweg beter uitvoert. Dat is waar we echt trots op zijn: dat we een workload sneller kunnen laten verlopen, terwijl we respect tonen voor het origineel, doordat we alle oorspronkelijke verzoeken daarin intact houden."

Ik kan me voorstellen dat het soms wel heel aantrekkelijk is om gewoon een stukje uit de code te schrappen, als je ziet dat iets onnodig berekend wordt of makkelijk overgeslagen had kunnen worden.

Hallock: "Ja, maar het blijft er gewoon in, want het zat nu eenmaal in het origineel. Dat is het juiste om te doen."

Redactie: Tomas Hochstenbach • Eindredactie: Marger Verschuur

Reacties (69)

Sorteer op:

Weergave:

Daar gaan we weer, weer een stuk software om een hybride architectuur op een (vanaf nu) dood platform op te poetsen dat inherent niet de prestaties gaat leveren die men bij Intel zou willen zien. Gamers Nexus heeft dit al getest en het doet weinig tot niks. Eerst was het de "threaddirector" en APO en nu een volgende iteratie van een promotioneel oppoetsmiddel. Het is een mooi verhaal hoor maar Intel kan z`n energie beter gaan steken in een homogene architectuur, langere platform/socket support en hogere efficiëntie, daar heeft de gemiddelde pc gebruiker meer aan.
X86 is natuurlijk al dood sinds de AMD K6 en Intel pentium pro. Sindsdien is elke CPU intern RISC en wordt x86 code vertaald. Dit is nieuw omdat de vertaling deels in software gebeurt.
De 'technische voorloper' van de AMD K6 deed dat ook al; de NexGen Nx586 :).
Toen Intel een nieuwe architectuur maakte genaamd Itanium die volgens mij wel superieur was in performance ten opzichte van wat ze eerst hadden was het een fiasco. Omdat oude software niet werkte. De enige manier om vooruit te gaan voor Intel is met achterwaartse compatibiliteit.
Zou dit niet al op compiler niveau verbeterd kunnen worden? Leverd intel niet ook de compiler?
Even de cynische zeik modi: goh, dat lijstje games.. zijn dat niet allemaal populaire games onder reviewers? Dus leuk voor de benchmark cijfertjes, maar wat is het praktisch nut? Ze zeggen zelf nog in het artikel dat ze niet willen dat bvb Cinebench resultaten met een soort "cheat knop" wordt gedraaid. Hopelijk blijven reviewers dan ook transparant wanneer ze wel/niet deze binary optimization tool gebruiken.

Ik ga namelijk niet ontkennen dat dit niet een hele mooie stap voorwaarts kan zijn. AMD lost cache bottlenecks op door een hele bak L3 onder de core dies te solderen, en hebben X3D dusdanig goed gemarket dat iedere ijverige gamer dat wel "moet" hebben. Dat is $$$ voor ze. Lijkt mij dat Intel dorstig opzoek is naar hun voordeel om weer bovenaan te komen. Maar wat Intel hier zelf ook al zegt: het is niet voor elk spel de moeite waard om deze optimalisatie slag uit te voeren. Datzelfde zien we bij X3D eigenlijk ook al. Veel gamers hebben het waarschijnlijk ook niet eens perse nodig, want als je geen gevoelige spellen speelt (zoals bepaalde simulators) en ook nog eens een entrree-level GPU gebruikt (denk RTX5060Ti), dan is de 100$ meerprijs van X3D elders veel beter besteed.

En dat is dan Intel's voordeel: deze tool is gratis, voor Intel gebruikers. In princiepe heb je er dus niets mee te verliezen.. mits je ondersteunde spellen speelt. IMO zou dit alsnog onderdeel moeten zijn van de hardware en/of een generieke driver. Het liefst hardware want dan werkt het ook direct voor bvb Linux. Het klinkt alsof Intel eigenlijk de cache infrastructuur en branch predictor van de komende paar generaties al nodig heeft, maar in de tussentijd extra optimilisatiedetail op deze manier maar doorvoert.

Overigens hebben developers al veel langer toegang tot hints over welke codepaden het meest glad gestreken moeten worden. GCC bevat onder andere __builtin_expect waarbij je aan kan geven of je verwacht dat een bepaalde if() statement waarschijnlijk waar of onwaar is. Er is niet een speciale instructie voor de CPU die iets hier mee doet (vziw), maar het kan wel de gegenereerde assembler herordenen zodat de cache lijnen beter worden gebruikt. Of veel developers hier na kijken is natuurlijk af te vragen. Je ziet games tegenwoordig dusdanig gerushed uitkomen dat ze amper functioneel zijn, laat staan geoptimized tot dit niveau.

Tenslotte is optimaliseren op instructie niveau bijzonder lastig. Elke beetjes helpen, dat wel, maar aanpassingen op hogere niveau's hebben vrijwel altijd veel meer impact. Bijvoorbeeld of het juiste algoritme is gekozen mbt ruimte en tijd complexiteit. Dat zijn optimalisatiestappen die developers toch echt zelf moeten doen. Je kan hoogstens plooien gladstrijken specifiek voor de hardware machine die je vandaag hebt..

[Reactie gewijzigd door Hans1990 op 24 maart 2026 17:06]

Dat lijstje van games zal wel de limitatie worden. Als ik het goed begrijp, moeten ze zoals bij APO het specifiek maken en updaten per game.

Bij APO was dat ook: mooie beloftes, maar uiteindelijk nauwelijks een update en een mager lijstje van weinige, oude games.
Dit lijkt toch best wel op profile based optimization (PBO), waar je 1 of meer use-cases profile data verzamelt (dat is informatie over gangbare codepaden), waarmee - uit het voorbeeld - verteld wordt of de if of de else route gepakt wordt, en daarop code - compile + link time geoptimaliseerd wordt (lees: de gangbare route de cache pakt). Echter, het resultaat is statisch, maar dat lijkt iBOT ook te zijn. Ergo: dit is dus een tool die het maken van een profile en een binary achteraf aanpast, buiten de developers omgeving c.q. build/test/release omging, en een hulpmiddel voor eindgebruikers wordt.

Lang geleden (vorige eeuw), voordat PBO profiling bestond (in Visual Studio, op Solaris en HPUX op IA64 was het er al wel eerder) had je (op Windows) Intel compilers, die ook specifieke dingen voor - uiteraard - Intel processoren deden. Als ik me goed herinner was de winst beperkt (minder dan 10%, uit mijn hoofd, 3-5%, waar 10% doorgaans als regel aangehouden wordt om 'merkbaar te zijn voor de gebruiker') was en - nadeel - sterk toegesneden op 1 bepaalde processor (wat vaak niet zo is, als je defensieve klanten met oude hardware en offensieve klanten met state-of-the-art spullen c.q. kleine vs grote klanten en bijbehorende hardware) hebt. Ik ben benieuwd of dit nu echt zo goed uit gaat vallen als hier geschetst. En ik vermoed dat AMD gebruikers geen baat bij deze tool zullen hebben. Dat is het 'andere kamp'.

Het is wel mooi dat de tool gratis is. Dat betekent dus dat wat vroeger door de developer gedaan kon worden, nu - indien gewenst - met wat klikken door een eindgebruiker, toegesneden op zijn settings en eigen hardware. Bij andere settings loop je kans dat de if ipv else gepakt wordt en de tool opnieuw gedraaid moet worden.

Ervaringen uit het verleden bieden geen garantie voor de toekomst, maar: agressievere optimalisatie leverde ook regelmatig meer crashes in de software op, omdat specieke optimalisaties in de compiler of linker ook kennelijk minder gangbaar of minder robuuste code opleverde. Als ik me goed herinner zei een (Microsoft) ontiwkkelaar van Visual Studio al dat de 'optmize for size' het meest stabiele codepath opleverde. Optimize voor speed leverde grotere binaries op (wat weer eerder problematisch is voor de CPU cache) en een minder stabiel codepath van de optimizer (=meer bugs). Onder de streep ging het voor Visual Studio over prestatieverschillen in de orde grootte van meetfout (1-2%). Veel moeite, weinig resultaat.

[Reactie gewijzigd door kdekker op 24 maart 2026 17:54]

Maar werkt het ook op Linux?
Ik gebruik CachyOS, een distro die vooral gericht is op performance. Veel pakketten zijn daar al gecompileerd met specifieke optimalisaties voor bepaalde CPU-instructies, zodat ze beter aansluiten op je hardware. Daardoor draait software vaak net wat efficiënter en soms ook merkbaar sneller.

Bij de meeste andere distro’s zijn pakketten juist vrij generiek gecompileerd, zodat ze op zo veel mogelijk systemen werken. Dat is handig voor compatibiliteit, maar betekent ook dat je niet altijd het maximale uit je hardware haalt.

Het verschil met IBOT van Intel, voor zover ik het begrijp, is dat CachyOS die optimalisaties al tijdens het compileren meeneemt. IBOT lijkt meer iets dat achteraf nog probeert te optimaliseren op bestaande binaries. Of dat in de praktijk nog veel extra winst oplevert bovenop al geoptimaliseerde builds zal moeten blijken uit benchmarks

[Reactie gewijzigd door procyon op 24 maart 2026 14:17]

Idem hier. Ik gebruik de 6.19.9-1-cachyos (64-bit) kernel (znver4), geoptimaliseerd voor m'n Ryzen 7 8700G. M'n eigen in C geschreven Ryzen Dashboard laat echt een onvoorstelbaar groot verschil zien met de mainstream Linux 6.19 kernel die ik voorheen op Manjaro draaide. Nou ben ik geen gamer maar ik zie wel een Soc power draw verlaging van ~12W idle naar nu !5W idle. En all sensoren geven een consequent lagere temperatuur aan (15 20%). En dat zie ook ook terug onder hoge belasting. Een gemiddeld zeer aanzienlijk lager stroom verbruik terwijl m'n Geekbench score hoger is. Single Core score van ~2720 naar 2870 en Multi core van 12850 naar 14800. Lekker want ik heb een passief gekoeld systeem, geen fans dus.


M'n hele systeem draait op gemiddeld 62 watt. Inclusief alle PC onderdelen, Klipsch the Fives speakers, rgb toetsenbord, 2 muizen.


T.a.v. gamen zie ik geen verschil. Alles wat ik speel was al snappy genoeg.
Wat ik wilde ik eigenlijk zeggen? Oh ja, alles wordt steeds sneller, het zal wel ;)
Voor een betere vergelijking kan je denk ik beter CachyOS met generieke kernel gebruiken.
Ik gebruik de zen 4 optimalisatie omdat ik daar de beste resultaten mee haal.
met de mainstream Linux 6.19 kernel die ik voorheen op Manjaro draaide.
Is dat niet gewoon een kwestie van een andere kernel config (mogelijk vooral op power saving gebied)?
Ja en nee. Het is de mainstream kernel (code) maar specifiek getweakt voor alleen moderne CPUs (o.a. Ryzen Zen4 en 5 maar ook de nieuwere Intel CPUs). De normale kernel probeert zoveel mogelijk systemen te ondersteunen en is daardoor voor veel systemen veel trager en inefficiënter dan nodig is. De kernel die ik nu gebruik heeft significant betere efficiency vs performance scaling en het verschil is in de praktijk zeer aanzienlijk.
en is daardoor voor veel systemen veel trager en inefficiënter dan nodig is.
Dat zou idle nooit zo'n verschil mogen maken.
Of dat in de praktijk nog veel extra winst oplevert bovenop al geoptimaliseerde builds zal moeten blijken uit benchmarks
Denk dat er wordt verwezen naar games op Linux, waarvan de source niet beschikbaar is.
dat zou pas een game changer zijn ;)
Is in beide gevallen een boost van maximaal 16% CPU performance nou echt een "game changer"? Helemaal omdat performance niet lineair schaalt, al helemaal niet op de CPU.
nee, vandaar de knipoog. ik vind dit geen game changer, wel als het zou werken voor linux dan krijgt linux in ieder geval nog een beetje aandacht 16% is nou niet een game changer te noemen
Hallock: "In theorie komt elke categorie software in aanmerking voor binaryoptimization. Maar daarbij rijzen meteen wat fundamentelere vragen: is het echt de moeite waard? Is de prestatiewinst groot genoeg? Is dit een verstandige inzet van engineeringtijd?
Nou 16% verbetering scheelt ruim een dag rekentijd op een week. Stel je wil voorspellingen doen voor volgende week dan lukt dat wel met optimalisatie, maar niet op de ouderwetse manier. Uiteindelijk is dat natuurlijk wel relatief, maar goed, het is zeker niet niks.
Nog niet, maar ze zeggen dat het in de toekomst wel gaat werken. Het zal (zeggen ze) ook nauw samenwerken met o.a. BOLT.
Omdat je de broncode van Linux hebt, is het veel makkelijker om even Intels eigen compiler erbij te pakken en de code daar door heen te halen. Ik denk daarom dat deze techniek niet zo nodig is op Linux.
Zou ik niet weten en kijk er de repositories op na. Sowieso is Intel weer bezig met een comeback van hun nieuwe line-up. Het verschil met AMD's X3D line-up wordt steeds kleiner en concurrentie is goed voor innovatie en prijsbeheersing. Daarbij is Intel sneller in Windows dan de X3D lijn want die is puur gebaseerd op gaming en minder bij andere zware taken al is mijn 7800X3D niet langzaam te noemen bij andere taken dan gaming. Het verschil is nu nog tot 10% in het voordeel van AMD, maar dat was 30%+.

Natuurlijk vind ik dat Linux ook mag meetellen want Linux is aardig volwassen aan het worden :)
Natuurlijk vind ik dat Linux ook mag meetellen want Linux is aardig volwassen aan het worden
...volwassen aan het worden als vervanger van Windows op gewone PC's, maar is verder technisch het meest volwassen platform.
O, maar zo bedoelde ik het niet. Het is niet meer alleen voor nerds, maar is het een geduchte concurrent voor Windows geworden. Zeker nu we Proton hebben.
Nerdy?! Welnee, iedere overstap is ff wennen ongeacht welke distro. Maar alles went door het te doen.

Screw OSupdateHell, F*- MS en diens abo's! Komende jaren zullen er velen overstappen. Beter voor de community, je systeem wordt sneller, veiliger én je privacy gaat erop vooruit. Nu nog Steam /Valve en meewerkende devs om het ecosysteem van MS een verdere tik te geven of liever ... te draaien.

Dwingt tevens Nvidia tot meer transparantie. Enfin: Linux is al sterk, maar meer volwassenheid van Proton is cruciaal voor echte mainstream adoptie. Elk jaar twee tot drie stappen vooruit is al rebels genoeg, toch?
Ze hebben het in het artikel over allemaal softwareproduct-specifieke optimalisaties, dus ik verwacht dat het in de praktijk überhaupt niet zo veel zal doen. Misschien als je net in hun doelgroep lijstje zit, en heel veel verschillende games speelt, gezien hun lijstje met games en hun focus daarop. Maar of dat alleen voor de Windows versie van de game geldt zou ik niet weten (en of dat dan ook nog werkt voor de Windows versie onder wine/proton). Ik wordt er in ieder geval niet warm of koud van, en zou het sowieso geen "game changer" willen noemen, zoals die dude van Intel doet. Dit is meer een gevalletje marketing voor hun nieuwe cpu line-up, nadat de wereld z'n interesse in Intel verloren had. Ik draai al heel lang alleen nog maar Linux (server, desktop, laptop, alles) en het interesseert me eigenlijk niks of het onder Linux wel of niet werkt :+
Ok, maar iets zegt me dat dus voornamelijk een software oplossing is en dus mogelijk ook generiek te gebruiken is bij concurrerende partijen zoals AMD, zolang de software maar geoptimaliseerd wordt voor de CPU. Ik hoop toch wel dat ze verder kijken dan alleen IF, THEN, ELSE, Exception...
Software kun je ook specifiek maken voor alleen bepaalde cpu's. Zo kun je heel simpel een cpu check inbouwen, zodat de software alleen werkt met bepaalde cpu's of bepaald merk cpu's.

[Reactie gewijzigd door Tourmaline op 24 maart 2026 14:22]

Wat gewoon een dick-move is, en ook niet echt is waar @GenomDalar1983 op doelt.

Hij probeert aan te kaarten dat deze techniek niet afhankelijk is van een bepaalde processor architectuur die uniek is bij Intel-processoren, en dat er dus niets functioneel in de weg staat om deze optimalisaties te kunnen gebruiken bij AMD processoren.
Het is wel mogelijk om het te beperken voor AMD cpu's, indien ze zouden willen. We zullen zien of het ook globaal beschikbaar komt.

Meestal proberen ze hun eigen uitvinding te beschermen/hun eigen cpu's een voordeel te geven.
Nividia en AMD delen ook niet elkaars optimalisatiesoftware.

[Reactie gewijzigd door Tourmaline op 24 maart 2026 14:31]

AMD en Intel hebben al sinds de uitvinding van het bier een Cross-Licensing deal, waardoor ze juist behoorlijk veel technologie met elkaar delen. Sterker nog, AMD maakte vroeger gewoon Intel CPU's (voor IBM).

Dat gezegd is dit een niet-noodzakelijke optimalisatie om x86_64 te laten draaien, in die zin kan ik wel verwachten dat Intel dit mogelijk niet gaat delen.
En dat is dus een foute aanname. Dit vereist de interne performance data van de Intel cores. Totaal geen standaard x86 feature dus, en totaal ongerelateerd aan AMDs interne architectuur
uhm Er zit juist wel verschil in hoe elke CPU bepaalde instructies doet, zelfs tussen elke generatie van Intel Cpus.

Waar dit software vooral naar kijkt is dingen zoals branch prediction en algemene pipelining, welke instructies re-ordered kunnen worden ivm de latency en cycle count van elke instructie..

Om even te simplifyen:

Een "add" kan op een 8th gen intel bijv 2 cycles kosten en 4 cycles latency hebben, terwijl op een 9th gen dit misschien 1 cycle is met 5 cycles latency, je kan op die manier gaan spelen met de order van instructies om de algehele runtime korter te maken, deze values kunnen dan op AMD ook weer compleet verschillend zijn, de branch predictor kan ook anders werken.. Het enige gelijke tussen de 2 vendors is dat het allebei een x86-64 instructie-set is , de performance characteristics van die instructies kunnen massaal verschillen.


Het is dus vrij logisch dan Intel alleen data heeft en aanbied voor zijn eigen CPUs.
Kan best zijn dat bepaalde instructiesets aangeroepen worden. Beetje vergelijkbaar als MMX/SSE/AVX e.d, dat zit ook niet op elke CPU, daarmee zou je vervolgens ook AMD CPU's kunnen uitsluiten.
Is dit nu een soort optimalisatie zoals de JVM en .net doen? (En bijv. ook Transmeta jaren geleden probeerde te doen voor x86?)
Soort van, al heeft een JVM intermediate code als input en dit x86.
Werkt dit in combinatie met anti-cheat tech?
Het werkt sowieso alleen met games waar Intel ondersteuning voor inbouwt, en op die lijst staan vooralsnog geen games met anticheat. Ik kan me voorstellen dat die wel eens af zou kunnen gaan als door een technologie als deze, dus als Intel in zo'n game een mogelijke prestatiewinst spot, zal dat wel in overleg met de gameontwikkelaar moeten denk ik.
Daar ben ik ook benieuwd naar.

Ik zie het al voor me dat er cheats en security exploits komen die hier gebruik van gaan maken.
Cool maar dit soort tools is pas interessant als 100% van de nieuwe games dit ondersteunen. Zo niet ben je dus nog altijd beter af met de cpu die gewoonweg het snelste is zonder software. En minder software en processen is ten alle tijden mijn voorkeur omdat dit met 30 jaar ervaring gewoon duidelijk het lekkerste loopt. Software geeft te vaak problemen zoals haperingen en micro-stutters omdat het op de achtergrond bezig is.

Mijn windows 11 build was na het terug brengen van achtergrond applicaties zo veel smoother. Ik ging van ruim 190 naar 75. En het liefst zou ik er nog zo'n 40 uitzetten die ik niet nodig heb voor wat ik er mee doe maar dat is simpelweg niet mogelijk door gedeelde services en het feit dat ik daar simpelweg zelfs als admin geen toegang meer toe heb.
Interessante ontwikkeling, het is zeker nuttig om meer performance uit hardware te halen, door software nog beter te optimaliseren voor de specifieke processor architecturen. Ik had echter de indruk dat dit al gedaan werd, en dat CPU microarchitecturen ook worden ontwikkeld, met als doel om goed te presteren voor veelgebruikte software.

Nu ga je als CPU leverancier hier zelf actief tussen zitten, als software ontwikkelaars kansen laten liggen.
Op zich prima, als het eindresultaat positief is en er geen bugs optreden, of intellectueel eigendom wordt geschonden.
Ik zou liever zien dat dit een open/industriebrede samenwerking zou zijn, waarbij dit bijv. op OS niveau plaatsvindt of door meer compilatie mogelijkheden gericht op specifieke hardware (zie bijv. JIT programmeertalen, en Linux distro's als CatchyOS; dat veel software meelevert, gecompileerd met optimalisaties voor de CPU van de gebruiker). Dit zodat ook andere CPU fabrikanten, en software ontwikkelaars kunnen bijdragen aan deze vorm van software optimalisering.
Daarmee voorkom je de hele discussie over "valsspelen" of "het is enkel marketing".

Verder wel benieuwd waarom ze zich primair op gamers richten, en nadrukkelijk laptop CPU's uitsluiten. Ik kan mij voorstellen dat webbrowsers en andere productiviteitssoftware ook efficiënter kan draaien op laptop CPU's. Waardoor bijv. het energieverbruik kan worden teruggedrongen, zodat je langer met je batterij doet, en de gebruikerservaring net even wat soepeler is.
Ik moet zeggen, het verhaal is altijd fantastisch bij Intel

Om te kunnen reageren moet je ingelogd zijn