> BOT optimizations are poorly documented, aggressive in scope, and damage comparability with other CPUs. For example, BOT allows Intel processors to run vector instructions while other processors continue to run scalar instructions. This provides an unfair advantage to Intel
Post link optimization (PLO) tools have been around for quite a while. In particular, Meta’s BOLT (fully upstream in LLVM) and Google’s Propeller (somewhat upstream in LLVM, but fully open source) have been around for 5+ years at this point.
It doesn’t seem like Intel’s BOT delivers more performance gains, and it is closed source.
This suggests the checksum is used to identify whether the binary is known to BOT, and thus whether BOT can optimize the binary.
I do wonder what this "optimize" step actually entails; does it just replace the binary with one that Intel themselves carefully decompiled and then hand-optimised? If it's a general "decompile-analyse-optimise-recompile" (perhaps something similar to what the https://en.wikipedia.org/wiki/Transmeta_Crusoe does), why restrict it?
FYI, Geekbench 6 already optimizes for AVX512. Intel just optimizes it even more for them.
I'll take the side of Geekbench here. There is no reason for Intel to optimize a benchmark tool except to cheat. The goal of GB is to test how typical applications run, not the maximum performance possible under ideal scenarios.
To me, the whole thing sounds like cheating in benchmarks.
Intel built a tool that will only activate for a specific benchmark - but not for real-world software which accomplishes similar things - and then the tool will replace generic bytecode with a (most likely) handcrafted and optimized variant for running this specific benchmark on this specific CPU. That means BOT will only boost the benchmark score, but not help at all with the end-user workflows that the benchmark is trying to emulate. Thereby, Intel's BOT makes the benchmark score misleading, which is why Geekbench is flagging them.
8 comments
[ 4.9 ms ] story [ 30.0 ms ] threadWait until they hear about branch predictors.
It doesn’t seem like Intel’s BOT delivers more performance gains, and it is closed source.
I do wonder what this "optimize" step actually entails; does it just replace the binary with one that Intel themselves carefully decompiled and then hand-optimised? If it's a general "decompile-analyse-optimise-recompile" (perhaps something similar to what the https://en.wikipedia.org/wiki/Transmeta_Crusoe does), why restrict it?
I'll take the side of Geekbench here. There is no reason for Intel to optimize a benchmark tool except to cheat. The goal of GB is to test how typical applications run, not the maximum performance possible under ideal scenarios.
Intel built a tool that will only activate for a specific benchmark - but not for real-world software which accomplishes similar things - and then the tool will replace generic bytecode with a (most likely) handcrafted and optimized variant for running this specific benchmark on this specific CPU. That means BOT will only boost the benchmark score, but not help at all with the end-user workflows that the benchmark is trying to emulate. Thereby, Intel's BOT makes the benchmark score misleading, which is why Geekbench is flagging them.