- 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
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