Intel Compiler: Desoptimizando los microprocesadores de AMD‏

Las maniobras sucias de Intel continuan

A principios de este año en nuestros foros les informamos sobre el proceso judicial que la FTC inició contra Intel, por la penalización al rendimiento que hace el Intel Compiler a los microprocesadores de la competencia, al usar el juego de instrucciones optimizado SSE sólo en sus propios microprocesadores, forzando a que los microprocesadores de la competencia usen el juego de instrucciones estándar, haciendo lucir muy superiores a los microprocesadores de la propia Intel en la mayoría de test, benchmarks y aplicaciones.

intelsinsides

Desde Real World Technologies nos hacen llegar una demostración de este hecho, y, al parecer es mucho más grave de lo esperado, pues Intel Compiler no solamente evita que los microprocesadores no-Intel usen el juego de instrucciones optimizado, sino que se las arregla para reducir considerablemente el rendimiento de dichos microprocesadores, llegando casos asombrosos donde los softwares compilados con dicho software muestran rendimientos artificialmente superiores a siete veces que los microprocesadores de AMD en algunos test… para dicha demostración usaron cuatro equipos:

  • AMD Phenom II X4 940 - 3GHz, 6MB L3, DDR2-800 CL5 (quad-core)
  • AMD Opteron 2222 SE - 3GHz, 1MB L2, DDR2-667 CL4 (dual-core)
  • Intel Xeon X3450 - 2.67GHz (3.2GHz boost), 8MB L3, DDR3-1333 (quad-core)
  • Intel Core i3-530 - 2.93GHz, 4MB L3, DDR3-1333 (dual-core)

Los resultados se muestran como base / pico. Los resultados de Intel Xeon & i3 corresponden a icc v11.1, los de Phenom con icc v11.0, y los de Opteron con PathScale 3.
intelcompilerbench

En el test hmmer Phenom II da una puntuación de 5.9 usando el compilador Intel 11.0, Opteron 2222, un microprocesador con 3 años de antigüedad da una puntuación de 14.9 usando el compilador PathScale, casi 2.5 veces mejor. Como referencia Core i7 920 da una puntuación de 15.8 usando Intel Compiler 11.0 en el mismo test. En otras palabras el Intel Compiler produce un código terrible para Phenom II, el cual es por lo menos 2.5 veces más lento que el código producido por otros compiladores en ese y en algunos otros test.

Conclusiones

Quizá esta demostración de este hecho es la más completa hasta el momento, anteriormente Ars Tecnica hizo una pequeña demostración usando un microprocesador VIA Nano con el cual lograron engañar a algunos programas haciéndolo pasar por microprocesadores de Intel y AMD usando la utilidad CPUID Fake ganando rendimiento en algunos test, sobre todo cuando era identificado como un microprocesador Intel.

pcm2k5-2

Al ser la propia Intel la que desarrolla y vende Intel Compiler, se comprende que no tengan obligación alguna a optimizar el código producido para microprocesadores distintos a los suyos; pero reducir considerablemente el rendimiento de los microprocesadores AMD y VIA, es una conducta completamente anticompetitiva, esperemos que la FTC dé una pronta solución a este caso, el cual no debe continuar, sobretodo porque Intel Compiler, es uno de los compiladores más ampliamente usados en la industria del software.

Para más detalles es de lectura obligada el artículo original.

Link: Intel's heroic v11.1 compiler, and the impact on AMD (Real World Technologies)

powered byDisqus