Pillan a Intel haciendo trampa en los benchmark SPEC y le invalidan 2.600 resultados en los últimos dos años

Desde hace ya más de una década tanto Intel como AMD en sus diapositivas oficiales han otorgado credibilidad a los datos recogidos por la suite SPEC CPU. La compañía que creó la suite, SPEC (Standard Performance Evaluation Corporation), acaba de pillar a Intel haciendo trampa en dos apartados de los benchmark para SPEC CPU, de manera que les ha invalidado más de 2.600 resultados oficiales debido a esto. Y no contentos, les han dicho a los azules que ya no publicarán más resultados en SPEC CPU 2017 para sus procesadores.

Aunque SPEC es muy tenido en cuenta por la comunidad de técnicos y profesionales del sector, como todo benchmark y suite necesita de dos partes: hardware y software. Se presupone buena voluntad a la hora de presentar el hardware a probar, y su compilador, pero Intel ha ido un paso más allá desde hace aproximadamente dos años, y les acaban de pillar.

Se acabó SPEC CPU 2017 para Intel tras ser pillada haciendo trampa

SPEC-2017-CPU

El problema de la mentira es que tiene las piernas muy cortas y corre poco por ello. Aun así, la trampa de los azules estaba tan bien diseñada que ha dado para algo más de dos años, y afecta lógicamente a sus CPU Xeon frente a las EPYC.

La parte de hardware es la que es, y como está monitorizada, realmente es complicado hacer trampa, pero como pasó en el DieselGate de Volkswagen, el software lo hizo todo. SPEC afirma que dicha trampa estaba en la optimización del compilador que usa Intel y que, como decíamos, afecta a más de 2.600 resultados:

"El compilador utilizado para este resultado estaba realizando una compilación que mejora específicamente el rendimiento de los puntos de referencia 523.xalancbmk_r / 623.xalancbmk_s utilizando conocimiento a priori del código SPEC y el conjunto de datos para realizar una transformación que tiene una aplicabilidad limitada"

En otras palabras, el compilador de Intel detectaba los puntos de referencia comentados y mejoraba el rendimiento de las CPU gracias a que conocían el código fuente de SPEC. Evidentemente, fuera de dicha suite los resultados no eran reproducibles, porque el compilador actuaba de forma normal.

Datos comprometidos que pueden ser más o menos grandes

Intel-Xeon-Rocket-Lake-y-Tiger-Lake

Y ahí está el siguiente problema: ¿cuándo lanzó Intel la trampa en el compilador para SPEC en sus CPU? Lo que se sabe es que se introdujo y luego se retiró, es decir, cuando Intel estaba más débil en CPU de servidor frente a AMD lanzó este "Boost" en el compilador para reducir la distancia y paliar el golpe en ventas.

Lo que se ha oído es que Intel oneAPI 2022.0 hasta 2023.0 están afectados. Por lo tanto, y hasta que se confirme y demuestre, los resultados antes y después de dichas versiones son válidos, pero durante no. Dicho esto, ¿cuánto estaba ganando Intel de rendimiento? Pues los últimos rumores afirman que en SPECint Speed habría conseguido un 9% extra, y en SPECint Rate un 4%.

Para no complicarlo demasiado, supone que las CPU afectadas estaban basadas en las arquitecturas Rocket Lake y Tiger Lake. O lo que es igual, los Xeon E13xx, E-23xx y Xeon W11xxxMxx. Ice Lake queda en el aire hasta confirmar el momento exacto de la introducción del compilador que permitió a Intel hacer trampas en SPEC. Y es que puede que algunos Sapphire Rapids Bronze, Silver y Gold también estén metidos en el ajo.

Igualmente, la compañía ha agregado lo siguiente:

"Para fomentar optimizaciones que tengan una amplia aplicabilidad (consulte la regla 1.4 https://www.spec.org/cpu2017/Docs/runrules.html#rule_1.4). SPEC ya no publicará resultados utilizando esta optimización.

Este resultado se deja en la base de datos de resultados de SPEC como referencia histórica".

Sea como fuere, aunque Intel ya no esté haciendo la trampa, la han pillado con el carrito del helado y quizás AMD podría emprender acciones legales junto con diversas empresas y usuarios afectados. Veremos en qué termina todo esto.