Intel C++
Compiler
Intel C Code
Builder 1.0 es un compilador especializado en lenguaje C para arquitecturas
i386 e i486. Cuando sale la versión 6 en 2002 pasa a ser conocido como Intel
C++ Compiler y dando un soporte completo para C y C++.
Las fechas
de lanzamiento de los compiladores vendrían siendo estas:
Luego
seguiría la 7.0 (2002), 7.1 (2003), 8.0 (2003), 8.1 (2004), 9.0 (2005), 10.0 (2007), 10.1 (2007), 11.0 (2008), 11.1
(2009), 12.0 (2010) y 12.1 (2011), mientras
ya se está desarrollando la 13.0, que todavía no se ha lanzado.
La versión
12.1 ha dado un enorme salto, pues; ya esta disponible para los sistemas:
Microsoft Windows, OS X y GNU/Linux. Las suites que componen al compilador: Intel Parallel Studio XE, Intel
C++ Studio XE e Intel C++ Composer XE.
El
compilador Intel C++ Compiler puede generar código para procesadores IA-32, Intel
64m, Itanium y procesadores compatibles. En procesadores Intel puede generar
codigo con instrucciones SSE, SSE2, SSE3
y SSE4.
Una de las
criticas mas fuertes con respecto al compilador es el código generado usando
procesadores AMD o externos a los Genuine Intel. Esto debido a que parece que el compilador es
capaz de reconocer sobre que procesador esta siendo ejecutado y generar codigo
dependiendo del procesador encontrado. Esto a primera instancia pareciera algo
muy bueno; ya que podría generar y optimizar el código según el procesador
sobre el que esta corriendo.
Al saber
sobre que procesador esta corriendo el compilador, este decide que optimización
realizar dependiendo de las capacidades del procesador. El problema radica en
que cuando detecta un procesador que no es Genuine Intel realiza la optimización
mas lenta posible haciendo que el código sea mas lento de lo que debería aun
cuando el procesador sea completamente compatible con sus contra partes Intel.
Según
Wikipedia:
Este
despachamiento de CPU específico a un fabricante disminuye el desempeño en procesadores no-Intel de software construido
con un compilador Intel o una biblioteca
de funciones de Intel - posiblemente sin el conocimiento del programador. Esto ha conducido a estudios de
desempeño errados.21 En noviembre de
2009 se acordó una batalla legal entre AMD e Intel sobre este y otros
asuntos. A
finales de 2010, AMD interpuso una investigación anti-monopolio contra Intel.
El acuerdo
de la FTC incluyó una disposición de revelación en donde Intel debe:
...publicar con claridad que su compilador
discrimina en contra de procesadores
no-intel (tales como diseños de AMD), a través de la no utilización de sus características y de la
producción de código inferior.
Al parecer
el compilador Intel C++ Compiler es capaz de compilar Linux sin errores.
El porqué de
usar este compilador en vez del clásico GCC(GNU) es un supuesto rendimiento,
Tomando en cuenta lo anterior parece ser posible pero solo en procesadores
Intel. El kernel "oficial mente" compilado con Intel C++ Compiler es
el 2.6.23 habra que ver los resultados con el 3.x usando la próxima versión del
compilador.
No hay comentarios.:
Publicar un comentario