Grupo da indústria invalida 2.600 benchmarks oficiais de CPU Intel – SPEC diz que o compilador da empresa usou otimizações injustas para aumentar o desempenho

A SPEC anunciou que não irá mais publicar os resultados do SPEC CPU 2017 para CPUs Intel que executem uma versão específica do compilador Intel, citando insatisfação com uma otimização aparente direcionada para uma carga de trabalho específica (via ServeTheHome e Phoronix), que essencialmente equivale a trapaça. Uma nota foi adicionada aos mais de 2.600 resultados de benchmark publicados com o compilador incorreto, invalidando efetivamente esses resultados, principalmente de máquinas com CPUs Xeon Sapphire Rapids de 4ª geração.
O SPEC CPU 2017 é um benchmark usado principalmente para servidores, data centers e estações de trabalho/PCs de última geração e testa o desempenho em várias cargas de trabalho de forma padronizada para que diferentes computadores possam ser comparados entre si. O bom desempenho no SPEC CPU 2017 depende não apenas do hardware, mas também do software. Um dos principais fatores na otimização do lado do software é o compilador, que é um programa que basicamente pega o código escrito e o reformata de forma que um processador possa executá-lo melhor.
A isenção de responsabilidade agora anexada a mais de 2.600 resultados do SPEC CPU 2017 afirma: "O compilador usado para este resultado estava executando uma compilação que melhora especificamente o desempenho dos benchmarks 523.xalancbmk_r / 623.xalancbmk_s usando conhecimento a priori." Isso significa que o compilador (neste caso, o compilador oneAPI DPC++/C++ da Intel) não foi otimizado para um tipo específico de carga de trabalho, ou mesmo para aplicativos específicos, mas especificamente para dois benchmarks SPEC CPU 2017.
Embora seja esperado que os compiladores sejam otimizados, já que mais desempenho é obviamente melhor, a otimização específica para benchmarks é controversa e desaprovada. A SPEC deseja que seus benchmarks reflitam o desempenho real do hardware e forneçam uma maneira padronizada de comparar diferentes processadores. Mas se uma otimização do compilador apenas melhora o desempenho em um benchmark específico e não em um cenário do mundo real, então isso claramente não reflete o mundo real e só será refletido nesse benchmark específico.
De acordo com a Phoronix, a otimização poderia aumentar o desempenho do SPECint em 9% no geral. A publicação também observa que as versões 2022.0 a 2023.0 do compilador Intel oneAPI foram afetadas, o que significa que a maioria dos resultados agora invalidados foram executados em 2022, principalmente em CPUs Sapphire Rapids. É muito improvável que os resultados das CPUs Xeon Emerald Rapids de quinta geração estivessem executando uma versão do compilador com a otimização proibida, já que o Emerald Rapids foi lançado depois que as boas versões do compilador estavam disponíveis.
A otimização específica de benchmark tem sido um tema quente há anos. Em 2003, a Nvidia foi acusada de realizar uma otimização do lado do driver para aumentar o desempenho de suas GPUs no 3DMark 2003. Em 2010, a própria Nvidia alegou que a AMD estava trapaceando em jogos reais ao não ativar certas configurações do lado do driver que teriam significativamente melhorado a qualidade visual em detrimento do desempenho. As acusações hoje em dia não são tão acaloradas, embora a SPEC certamente tenha envergonhado a Intel neste caso.