Muchos programadores consideran que el compilador de Intel como el mejor del mercado en cuanto a optimización, por lo que suele ser el utilizado en las aplicaciones más críticas. De hecho, si excluimos GNU GCC, hay pocas alternativas que estén a la altura. Y para algunas aplicaciones matemáticas, técnicas y científicas, las librerías de Intel están tan optimizadas, que a efectos prácticos no hay opción a usar otro compilador.
El compilador de Intel, sin embargo, está diseñado específicamente para generar código no eficiente en procesadores AMD o VIA. Es capaz de generar múltiples versiones de un código, cada una optimizada para un procesador y juego de instrucciones determinado, e incluye una función (CPU dispatcher) que detecta el procesador sobre el que se ejecuta la aplicación, y así seleccionar la versión del código compilado a utilizar.
Sin embargo, si el procesador no es un "GenuineIntel", el compilador utiliza en la mayor parte de los casos la versión más lenta del código, incluso si la CPU es capaz de soportar las versiones más optimizadas del código. Pero esta táctica de dudosa ética se le va a acabar a Intel.
El pasado mes de Noviembre, Intel y AMD llegaban a un acuerdo extrajudicial para acabar con todas sus disputas por causas anti-monopolísticas. Intel abonó 1250 millones de dólares a AMD, para compensar los años en los que se aprovechó de su posición dominante para perjudicar a su competidor.
Pero la FTC (Federal Trade Commission) también lleva su propia investigación sobre el asunto, ya que hay otras compañías, como VIA, que no están compensadas por ese acuerdo. Así que la FTC ha solicitado a Intel a que "repare su compilador defectuoso":
Se requiere que, con respecto a los clientes de Intel que adquirieron de Intel un compilador software que tuvo o tiene el diseño o efecto de afectar al rendimiento real o aparente de microprocesadores no fabricados por Inter ("Compilador Defectuoso"), tal y como se describe en la Demanda: Intel les proporcionará, sin coste adicional, un compilador sustituto que no sea un Compilador Defectuoso; Intel compensará el coste de recompilar el software que hayan compilado con el Compilador Defectuoso y de sustituir, y distribuir a sus propios clientes, el software recompilado para el software compilado con un Compilador Defectuoso; e Intel deberá informar públicamente y avisar, de manera que sean informadas las personas que hayan adquirido software compilado con Compiladores Defectuosos adquiridos a Intel, de la posible necesidad de reemplazar ese software.
Me resulta curioso que la FTC hable tan claro, y llame "defectuoso" al compilador de Intel, que de cumplirse lo requerido por la FTC le tocará soltar más pasta en concepto de indemnizaciones a programadores, empresas y clientes. Recordemos que en mayo de 2009, la Unión Europea ya le había encasquetado una multa de 1000 millones de euros a Intel por prácticas monopolísticas.
Vía | Download Squad Más información | Engadget (sobre el acuerdo Intel-AMD), OS News, Agner Fog
Ver 30 comentarios
30 comentarios
Malakun
El motivo de las multas a Intel ha sido que ha usado prácticas monopolistas para echar al resto de marcas de su mercado. Vease el caso de los procesadores AMD, que Intel negociaba (o extorsionaba, lo que fuese) a fabricantes como HP, Dell, Packard Bell, etc para que NO montases procesadores que no fueran Intel y dejando fuera a AMD. No es que los ensambladores no quieran montar AMD (que quizás sí, porque total, les puede salir más barato y sacar un beneficio un poco mayor), es que si lo hacían posbilemente Intel pasara de negociar con ellos, no les permitira montar sus procesadores etc etc... y de ahí que acorse con AMD pagar unos 1200 millones de dólares, para que no le cayese mayor multa en la condena.
@iyan no es que AMD tenga que sacar ahora un compilador para sus procesadores y así no tener que "joder" a Intel para que no trampee, es que Intel vende un producto supuestamente "universal" pero, a propósito, hace funcionar mal el código en ciertos procesadores. Vendría a ser como si Sony Pictures saca una película en DVD que se ve bien en reproductores Sony, pero en el resto va mal a propósito. Y si hablamos de que tienes una gran cuota de mercado y con eso puedes ampliarla hasta alcanzar el monopolio, mal vamos...
@bastien pues por lo general, la mayor diferencia es el precio y el rendimiento. AMD son más baratos y ofrecen un rendimiento similar a Intel mas caros en cosas como juegos (por lo general), ver películas y otras tareas habituales en los usuarios de ordenador (word, internet). Pero para temas más profesionales (renderizado 3D, mismamente), mejor rendimiento el de un Intel.
Alkar
#41: El problema es que, como ya se ha indicado, el compilador de Intel se vende como universal, que compila de forma eficiente para cualquier procesador, sea o no GenuineIntel. Pero no es cierto, es más intencionalmente usa código ineficiente en otros procesadores.
Intel no tiene que aprender cómo funcionan otros procesadores, porque los otros fabricantes le proporcionan toda la información necesaria.
Hay circulando por ahí versiones trucadas del compilador de Intel que evitan esa treta de la versión oficial
Y el mayor problema es que algunas de las aplicaciones usadas para benchmarking de procesadores se han compilado con el compilador de Intel, por lo que los baremos usados para comparar el rendimiento de procesadores están "amañados" para que los GenuineIntel parezcan mucho mejores que los de la competencia.
Carlos Rocker
ERROR GENTE..lo unico que se pide es que Intel respeta las normas...vamos ya alguien dio un ejemplo claro "como comprar un dvd sony y solo funciona eficientemente en reproductores sony"...en fin.
@34: Quien dijo que AMD no innova?...te recomiendo leas un poco mas sobre las tecnolofias AMD, que no hagan igual marketing es diferente..lo que esta haciendo con ATi,o demas avances..entra en la pagina de AMD..seccion desarrolladores, no creas que AMD no hace nada..o solo copia ideas.
martian007
#42 Ahora entiendo por qué los Intel siempre dan más puntuación en los bechmarks, LOL.
Me parece buenísimo el ejemplo que han dicho antes del DVD de Sony, que sólo se reproduce bien en reproductores Sony y en los demás va a menos fotogramas por segundo. Si estás vendiendo un producto que tu dices que funciona bien para todos, y les estás colando a toda la competencia código no optimizado pudiendo ponerlo optimizado sin mayor problema, pues es una actuación desleal claramente.
Además, los que dicen que es injusto que Intel tenga que estudiar procesadores de la competencia, que se dejen de cuentos: Intel no tiene que estudiar nada, sólo tienen que deshacer una treta que han hecho ello sa propósito.
Markos
OLE!!! Si cuando la justicia funciona, funciona...
xabivaz
11# @RadL
Te doy toda la razón. Es como si ahora Facebook o MySpace tendrían que pagar a Hi5 u otras redes sociales que no triunfaron y a pasarles a todos sus usuarios por habérselo currado y haberles comido el terreno. ¿Qué pasa, que los informáticos vamos a tener que liberar a y dar gratis al mundo cualquier innovación que saquemos? Señores, que yo sigo pagando cuando voy a comprar es pan, a arreglar el coche (que realmente no tengo, porque a ninguna empresa se le ha ocurrido regalar coches "Open Source"). Me está tocando las webs esto de ser informático, tener que dar todo de gratis y que a ti no te den ni los buenos días!!
P.D: la mayoría de la gente que habla aquí no tiene ni p idea de qué es un compilador, ni cuanto cuesta hacerlo, ni cuesta por encima hacer que soporta distintas arquitecturas, ISAs, optimizar, etc. Pero bueno, así es la informática, intrusismo del que no sabe nada.
xabivaz
Para asco tus faltas de ortografía, aquí no se ha faltado el respeto a nadie. Si AMD quiere que los programas corran rápido en sus máquinas, que metan dinero para investigación y creen sus propios compiladores. No olvidemos que esto un mercado, en el que las empresas ganan dinero (entre cosas) por la diferenciación y el I+D+i. Ya está bien de vivir aprovechándose de lo que hacen los demás
shadded
#14 no les están pidiendo que liberen el codigo, no te confundas. Solo piden que si yo tengo un procesador AMD y soporta instrucciones MMX, SSE y SSE2 (por ejemplo) que compile con soporte para ellas con la ventaja que esto conlleva en cuanto a rendimiento.
Parece ser que ese es el problema, que creo codigo optimizado para todos los micros intel, compruebe cual tenemos y ejecute el binario que más convenga (aprovechandose de instrucciones MMX's SSE's y demás) y si no es intel, pues que ejecute el codigo sin ninguna optimización.
shadded
En cuanto a mi opinión, me parece muy mal por intel que pudiendo comprobar facilmente que instrucciones soporta el procesador que tenemos ensamblado, solo lo haga si es intel...
xabivaz
Lo que está claro es que que quien sea de la FCT que dijo dictó esta ¿sentencia? /dijo esto no tenía ni idea de lo que es un compilador ni lo que costará recompilar y sustituir todo lo ya compilado. Lo que más me mosquea es que según se dice, esas empresas PAGARON a Intel por el compilador, así que o compraron sin tener ni idea de qué compraban (muy listos estos chicos) o les compensaba más comprar un compilador a sabiendas que no optimizaba a contratar a todo el personal necesario para crearse el suyo propio. Como se ve, AMD, VIA, etc. también buscaban sólo el dinero. Y esa es la máxima de una empresa: conseguir dinero
shadded
Extraido del wiki de gentoo (http://en.gentoo-wiki.com/wiki/Intel_C%2B%2B_Compiler#Uncripple_icc_on_AMD_CPUs):
Parece ser que comprueba que CPU se utiliza, y si es Intel ejecuta los binarios compilados para aprovechar los sets de instrucciones SSE (en caso de que su CPU Intel lo permita), y si no es Intel no se molesta en comprobarlo, directamente utiliza el codigo compilador para i386...
Lamentable, muy mal por Intel, no tenía noticia de esto, aunque a decir verdad a mi particularmente me da igual, compilo todo con GCC...
shadded
#27 pero es que si Electronic Arts (por decir algo) le compró el compilador a Intel, y lo sabía y ha vendido 1 millón de juegos que se ejecutan por debajo de las posibilidades de rendimiento que ofrece un micro AMD, el PERJUDICADO es el usuario, no Electronic Arts.
Y al usuario nadie le avisó de que compilador usa Electronic Arts.
Alguien tiene que compensar a los usuarios, y si es Intel me parece perfecto, porque no les cuesta nada comprobar los flags de la cpu en la que se ejecutan y ejecutar codigo que aproveche los sets de instrucciones que contengan.
Han obrado mal, de forma desleal, y a proposito, y ahora que paguen por ello, que el usuario no tiene culpa de nada.
pt18
11# @RadL
El problema es que AMD y VIA pagan a Intel por usar las instrucciones de Intel en sus respectivos procesadores. Por lo tanto, si pagas una patente por esas instrucciones, el compilador que se supone está optimizado para esas instrucciones debe rendir de igual forma en todas las plataforma que implementen la patente y no verificar si se trata de un procesador Intel para correr una versión optimizada o no. No sólo es poco ético sino que probablemente violaba algún contrato entre Intel y AMD, por eso Intel prefirió pagar y evitar un pleito que probablemente no iban a ganar.
javiyo
En el ejemplo del dvd se ve bien claro que es una práctica monopolista: yo quiero mi dvd de sony porque solo ellos venden esa película, pero me están "obligando" a comprar su reproductor si lo quiero ver bien con lo que se quitan competencia empeorando lo de los demás y no mejorando lo suyo. Cuando se ofrece diferenciación se ofrece que tu producto es mejor por si mismo, no porque con tu producto hace que los demás sean peores
Y por último eso de que el objetivo de la empresa es ganar dinero. Eso era en el siglo XIX cuando apareció la industrialización y el capitalismo tuvo su gran expansión. Ahora el objetivo de una empresa es ganar dinero, sí, pero de manera sostenible, las prácticas monopolistas no son buenas para la salud del mercado.
Un saludo
linkoflight
na cosa al que dice que intel saco los x64, fue al revez AMD saco los x64 y los 4 nucleos, asi que antes de decir tonterias informate, AMD 3D NOW!
iyanmv
Jajaja! Pues me parece mal! Que saquen los de AMD un compilador tan bueno como el de Intel y que les perjudique... No se, la verdad es que no se mucho de normas/leyes/monopolios xDD
jhonatan17
#5 .. jajajajajajaj xD
Malakun
@RadL pues que lo haga, que saque su compilador rollo Apple: de Intel y sólo para Intel. Ya verás como la gente busca otras alternativas universales. Se arriesgaría Adobe, Electronic Arts o empresas grandes del mundo del software, a que sus programas SOLO funcionaran en Intel? Sería una locura, dejarían de lado una cuota bastante amplia de mercado (en Steam, por ejemplo, un 31% de sus usuarios usan AMD). Y por no hablar de ordenadores que no son sobremesa, donde también tienes otras marcas como IBM, con sus propios procesadores.
bastien
Excelente decisión de la unión europea en multarlos y ahora darles esta sentencia, sinceramente no se cuales son las diferencias entre AMD e intel.
Mi primer procesador fue un AMD y mi actual procesador es otro AMD, en lo persona prefiero AMD, lo e usado desde que entre al gran mundo de la informática e Internet y no me a dado problemas ni de rendimiento ni físicos, ademas jugar sucio deja bastante mal la imagen de intel.
bastien
keto1987 perdona que te lo diga, pero tu argumento es un asco, concuerdo que no es cosa facil crear un compilador, concuerdo con lo de Facebook y MySpace, pero la diferencia radica en que estos dos no le estaban haciendo DoS a Hi5 para que sus servidores no funcionen optimamente, Intel iso la cagada con su compilador y lo mas razonable es que arregle ese error, o simplemente, como ya an dicho, que el compilador salga con licencia para que solo funcione con procesadores fabricados por intel.
windowslinux
Hola a todos: Un artìculo muy interesante. Para los que dicen que todos sabìan de esto, http://www.agner.org/optimize/blog/read.php?i=49 href> (Me gustaria su opiniòn sobre esto).
yoyoyo
Intel ha desarrollado un compilador que genera código optimizado para sus procesadores. Si el procesador no es de los suyos simplemente no usa código optimizado. Me parece justo. Si los demás quieren un compilador optimizado para sus propios chips que escriban uno ellos mismos o si quieren gastar menos, que colaboren para mejorar GCC.
La respuesta es sencilla: si necesitas código especialmente rápido en procesadores Intel, usa ICC, pero sólo te sirve si son Intel.
Rubén T.F.
¢46 Me parece que estas confundiendo la arquitectura 100% de 64bits de Intel, IA-64, con las extensiones para uso de registros de 64bits de AMD, AMD64 o x86-64, que esto último si es de AMD, pero no lo compares con una arquitectura Itanium, por dios...
Sobre la noticia, pues que no se que decir, lo que hace Intel es sucio, muy sucio, pero también es cierto que AMD se ha quedado parada en cuanto a compiladores y ha dicho "que me lo den to' hecho".
Rubén T.F.
#49 Bueno, infórmate dices.... A ver si te das cuenta de que no es lo mismo una arquitectura real de 64 bits (por ejemplo la de los Itanium) y una arquitectura de 32 bits (x86) con soporte de algunas instrucciones y registros de 64 bits (AMD64 e EM64T).
pante
la union europea es el nombre de la fusion de: opera, amd y los del software libre
la UE es cualquier ganzada
timeout
osea, que aparte de preocuparse de que el compilador funcione adecuadamente con los procesadores intel, ahora también tendrán que averiguar como funciona el resto de procesadores ?
fandroid2012
Yo uso Intel porque tiene más compatibilidad con GNU/Linux. A ver si los de AMD, VIA y compañía se ponen las pilas y brindan mayor soporte para Linux. :P
zcullyx
INCREIBLE.
Que bajo ha caido Intel con esto. Joder, no hay una puta empresa que opere de forma legal y deportiva. NI UNA.
gabrielon
Vaya manera de complicarse la cabeza que tienen algunos cuando todo el mundo debería saber que el compilador más utilizado es Visual Studio ..
Pablo César Galdo Regueiro
¿Qué espera la UE y otros gobiernos? Que se dejen de poner multillas y rectificar según que conductas, dependiendo de los intereses económicos en cada momento.
Las empresas sólo se preocupan de salvar su culo y pasar por encima de los demás, a veces enfrentándose, otras haciendo complots para engañar a los usuarios. A esto hemos llegado liberalizando a lo bestia los mercados.
Los gobiernos, supuestamente representantes legítimos (donde lo sean) de la población y, por ello, de los intereses generales DE TODOS, tienen que velar por el interés general e intervenir, en contra de los intereses económicos ilegítimos de algunas empresas, sin que suponga menoscabo de su supervivencia y viabilidad económica.
Si hay que innovar y realizar desarrollos, que se hagan de manera coordinada desde un órgano que represente el interés general.
¡Vale ya de especular con todo!