• Some users have recently had their accounts hijacked. It seems that the now defunct EVGA forums might have compromised your password there and seems many are using the same PW here. We would suggest you UPDATE YOUR PASSWORD and TURN ON 2FA for your account here to further secure it. None of the compromised accounts had 2FA turned on.
    Once you have enabled 2FA, your account will be updated soon to show a badge, letting other members know that you use 2FA to protect your account. This should be beneficial for everyone that uses FSFT.

Intel Binary Optimization Tool Changes Code Execution with Heavy Vectorization

erek

Fully [H]
2FA
Joined
Dec 19, 2005
Messages
17,489
“For example, Primate Labs used Intel's own Software Development Emulator (SDE) to measure how many instructions were executed and which types of instructions the program executed. Without BOT, Geekbench 6 required a total of 1.26 trillion instructions to finish, while a BOT-enhanced run completed with 1.08 trillion instructions. This is an impressive 14% reduction. However, when examining the execution by type, we see that BOT makes heavy use of vector instructions like SSE2 and AVX2. The number of scalar instructions needed to execute a program fell from 220 billion to 84.6 billion, while the number of vector instructions increased from 1.25 billion to 18.3 billion, a 13.7x increase. This means that Intel BOT finds a way to turn inefficient scalar code into vectorized instructions that are processed much more efficiently inside Intel CPUs. These techniques indicate a very complex behind-the-scenes process than was originally believed. The Geekbench v6.7 update will include a flag for BOT, allowing future Geekbench results to be easily distinguished as BOT-enhanced or not.

We only have a high-level understanding of how the Binary Optimization Tool actually works, but here's the essence as covered in our review of "Arrow Lake Refresh." It builds on Intel's APO technology and profiles a workload at the microarchitectural level to identify where compiled code is not fully utilizing IPC. This process occurs in Intel's labs, not on your machine. If a binary isn't achieving peak efficiency, Intel applies post-link optimization to produce restructured machine code with better instruction density, without altering the source code, decompiling, or involving developers. The original binary on disk remains untouched. Instead, when you enable a profile and reboot, a user-mode service monitors the relevant binaries and silently redirects execution to the optimized paths, similar to how GPU drivers swap in optimized shaders for supported games at runtime. To be clear, the workload still performs all the same tasks, and nothing is skipped or approximated. It's simply reorganized to make better use of the hardware's available execution units.“

Source: https://www.techpowerup.com/347906/...anges-code-execution-with-heavy-vectorization
 
This is technically cheating at benchmarks. This also suggests that Intel sees a lot of unoptimized code and took it upon themselves to literally alter the programs code. What's more strange is that rather than Geekbench taking advice from this and altering their code, they instead would rather label it as BOT. Also if Geekbench were open source, you can use a compiler to do what Intel's BOT can do. Assuming you have a good compiler for this.
 
  • Like
Reactions: erek
like this
This is technically cheating at benchmarks. This also suggests that Intel sees a lot of unoptimized code and took it upon themselves to literally alter the programs code. What's more strange is that rather than Geekbench taking advice from this and altering their code, they instead would rather label it as BOT. Also if Geekbench were open source, you can use a compiler to do what Intel's BOT can do. Assuming you have a good compiler for this.
But BOT isn't limited to Geekbench.
The application of it should be relevant everywhere.
 
What's more strange is that rather than Geekbench taking advice from this and altering their code,
geekbench do not use its own code for the most part, it is simply running popular libraries real life programs use like a browser, ffmepg or a pdf reader (a lot of it is not synthetic benchmark, but real life libs doing usual tasks), if they make their own version of CLANG, PDFium, libjpeg or google gumbo then geekbench results would not be a indication of the most common workload performance and not that useful as a benchmark.

As those libs are opensource intel could do it themselve ;), there is a reason that it is not necessarily that possible, what best for an 250K to optimise its cache usage it not necessarily universal and lots of libs want to me optimised for old hardware. But some of if could be Intel wanting to keep it secret (I imagine otherwise they could do like Nvidia do and let people see and read the assembly they generate).

as for cheating (that something GPUs have been doing all the time, shader replacement per title per GPU target), that would be if it is shortcutting security (and we will maybe never know being a black box) or if they take a long time to push iBOT for the apps that use the same popular library that geekbench uses .
 
Last edited:
But BOT isn't limited to Geekbench.
The application of it should be relevant everywhere.
right now it is, it use application level fingerprint, not the code by code block itself, should get vast support quite fast but right now it is only geekbench at launch (and games) I think.
 
I'd love to get hold of this tool and run it against the Planetary Annihilation server code and see if it improves the horrible time dilation when played against bots.
 
This is technically cheating at benchmarks. This also suggests that Intel sees a lot of unoptimized code and took it upon themselves to literally alter the programs code. What's more strange is that rather than Geekbench taking advice from this and altering their code, they instead would rather label it as BOT. Also if Geekbench were open source, you can use a compiler to do what Intel's BOT can do. Assuming you have a good compiler for this.

“Geekbench investigates up to 30% jump with Intel's iBOT — performance gain attributed to newly-vectorized instructions​


iBOT is doing quite a bit behind the scenes”

https://www.tomshardware.com/pc-com...n-attributed-to-newly-vectorized-instructions
 
But BOT isn't limited to Geekbench.
The application of it should be relevant everywhere.
That doesn't change the fact it's altering code. It's less cheat-like because it isn't limited to just Geekbench. There are games like Cyberpunk 2077, Hitman 3, Borderlands 3, Assassin's Creed Mirage, Remnant 2, and Far Cry 6. It seems like a tool meant to boost benchmark results for popular applications. It can effect other applications... if Intel chooses to.
geekbench do not use its own code for the most part, it is simply running popular libraries real life programs use like a browser, ffmepg or a pdf reader (a lot of it is not synthetic benchmark, but real life libs doing usual tasks), if they make their own version of CLANG, PDFium, libjpeg or google gumbo then geekbench results would not be a indication of the most common workload performance and not that useful as a benchmark.

As those libs are opensource intel could do it themselve ;), there is a reason that it is not necessarily that possible, what best for an 250K to optimise its cache usage it not necessarily universal and lots of libs want to me optimised for old hardware. But some of if could be Intel wanting to keep it secret (I imagine otherwise they could do like Nvidia do and let people see and read the assembly they generate).
Yea but, Geekbench itself isn't open source. Types of compilers and what level of optimization for those compilers, really does matter.
as for cheating (that something GPUs have been doing all the time, shader replacement per title per GPU target), that would be if it is shortcutting security (and we will maybe never know being a black box) or if they take a long time to push iBOT for the apps that use the same popular library that geekbench uses .
Except shader replacement is something every GPU does. There's also shader compiling as well. It also effects every game.
 
Yea but, Geekbench itself isn't open source. Types of compilers and what level of optimization for those compilers, really does matter.
the part of the code of the library use will be marginal and we have good idea which compiler they use and its option, Clang 16 (has it help to keep the same one for all platform), and we can assume regular -03 (high optimisation), with avx2, avx-512, etc... build path.

Except shader replacement is something every GPU does. There's also shader compiling as well. It also effects every game.
cheating on benchmark is not relative to what other do that much (if onyl one cpu supported AVX-512....), it is about does it translate well in the non-benchmark run (here it does not all for the moment so if it stay like that yes it would be cheating and until it become common for most apps that use the same libs as geekbench they will put a warning)
 
Last edited:
I'd love to get hold of this tool and run it against the Planetary Annihilation server code and see if it improves the horrible time dilation when played against bots.
No shit, haven't heard that game referenced in years. Been a while since I played, but it's a great game. Bummer to hear they never fixed this on the servers.
 
That doesn't change the fact it's altering code. It's less cheat-like because it isn't limited to just Geekbench. There are games like Cyberpunk 2077, Hitman 3, Borderlands 3, Assassin's Creed Mirage, Remnant 2, and Far Cry 6. It seems like a tool meant to boost benchmark results for popular applications. It can effect other applications... if Intel chooses to.

Yea but, Geekbench itself isn't open source. Types of compilers and what level of optimization for those compilers, really does matter.

Except shader replacement is something every GPU does. There's also shader compiling as well. It also effects every game.
"Primate Labs has released Geekbench 6.7, and the main change for PC users is Intel BOT detection. The company says the new version can detect whether Intel’s Binary Optimization Tool is enabled on the current system.

This follows two earlier developments that we already covered. Primate Labs said..."

Source: VideoCardz.com
https://videocardz.com/newz/geekbench-6-7-released-with-core-ultra-200s-plus-bot-detection
 
Back
Top