Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   La Taberna (https://www.clubdelphi.com/foros/forumdisplay.php?f=40)
-   -   El compilador de Intel perjudica intencionadamente a procesadores de la competencia (https://www.clubdelphi.com/foros/showthread.php?t=70650)

Casimiro Notevi 03-11-2010 12:24:31

El compilador de Intel perjudica intencionadamente a procesadores de la competencia
 
Cita:

«El compilador de Intel (icc), genera distintas versiones de porciones de código optimizadas para distintos juegos de instrucciones (SSE, SSE2, etc.) y, en tiempo de ejecución, el 'CPU dispatcher' incluido en el programa compilado con icc comprueba el identificador del procesador, eligiendo el código óptimo. En teoría, esto es cierto, pero 'casualmente' esta selección de código óptimo sólo funciona bien para procesadores Intel, mientras que para procesadores de la competencia suele elegir el bloque de código más lento, a pesar de tener los juegos de instrucciones adecuados, con lo cual el mismo software funcionará más lentamente en procesadores no Intel.Podéis imaginar las consecuencias del uso de icc para programas de Benchmarking, y el uso posterior de estos para comparativas entre procesadores de Intel y no Intel.»

Intel ha sido denunciado algunas veces por "prácticas abusivas", esta es una más.
Leído en barrapunto.

Al González 03-11-2010 16:28:46

De ser esto tal como se interpreta, no volveré a comprar alguna computadora que lleve procesador Intel. Ya tenemos demasiado capitalismo salvaje.

Casimiro Notevi 03-11-2010 17:28:29

Si te digo la verdad, desde hace 14 años sólo compro AMD porque no me gustaron las prácticas que hacía intel (ya por aquellas fechas).
Las prácticas monopolísticas de intel son habituales desde casi siempre:
La UE multa a Intel con 1600 millones de euros
La FTC denuncia a intel por prácticas monopolísticas
AMD acusa a Intel de amenazar a los fabricantes para que no usen sus productos

Al González 03-11-2010 18:03:08

Abonando al asunto, también decir que los procesadores AMD me han dado muy buenos resultados. Desde la época en que solía abrir CPUs y agregar o reemplazar tarjetas para ganarme las habichuelas.

Siempre que usaba una máquina con procesador AMD sentía que el software corría muy ágilmente, y cuando me tocaba usar una con Intel percibía algo "raro" en la velocidad de los programas.

Parece que hoy en día las diferencias técnicas son más sutiles, pero las éticas abismales.

Crandel 04-11-2010 00:30:24

No quiero entrar en debate si Intel o AMD son mejores, no lo se, ambos me funcionan bien y no creo ser capaz a nivel de usuario de distinguir la verdadera diferencia habiendo tantos factores que juegan en la performance de un equipo.

Pero respecto al tema de esta "práctica abusiva", no lo veo tal cual. Cada modelo de procesador soporta diferentes instrucciones por lo cual el compilador debe ser capaz de traducir un mismo código fuente en códigos maquina según el procesador en el cual se esta ejecutando, siempre y cuando se quiera mantener un mismo ejecutable. Consecuencia: un incremente en el tamaño de ejecutable y el costo de crear múltiples ramas según el procesador.

En el caso de que intel quiera soportar las optimizaciones de AMD, también debe ser capaz de conocer al detalle el conjunto de instrucciones que soporta cada modelo, con las correspondientes consecuencias de un mayor costo del compilador, mayor tiempo de compilación y mayor tamaño del ejecutable.

Mucho mas sencillo es decir: compilador no soportado -> ejecutar instrucciones básicas. Que es en realidad el código que generan la mayoría de los compiladores.

Experiencia propia: Hace un par de años en el trabajo teniamos parte del algoritmo escrito en c++, entonces decidimos probar el compilador de intel para analizar la diferencia. En mi maquina con procesador Intel Dual Core la diferencia era menor del 10% respecto al procesador del microsoft. Ahora el mismo código, no compilado de forma generica, sino específicamente para un procesador Intel Centrino, la diferencia era ya mayor al 30%.

En resumen, el compilador de intel sabe optimizar codigo para procesadores Intel y más si le especificas el modelo.

Casimiro Notevi 04-11-2010 01:13:11

Bien, aunque el asunto que se está tratando es la "ética", y éticamente deja mucho que desear intel, al igual que microsoft.

roman 04-11-2010 01:26:08

No entiendo tu comentario Casimiro. Este hilo comenzó con una "denuncia" acerca de la ética de Intel basada en un supuesto perjuicio que causa a los demás procesadores. Y de éso precisamente habla el comentario de Crandel, que, en su perspectiva, no hay tal perjuicio. Entonces, si tu opinión de que la ética de Intel deja mucho que desear se basa en este tipo de "denuncias", pues el comentario de Crandel viene muy al caso, sobre todo porque desfundaría tal "denuncia".

Y conste que yo no me inclino ni por uno ni por otro pues pocos elementos tengo para juzgar.

// Saludos

roman 04-11-2010 01:30:54

Cita:

Empezado por Crandel (Mensaje 381204)
no creo ser capaz a nivel de usuario de distinguir la verdadera diferencia habiendo tantos factores que juegan en la performance de un equipo.

Coincido en tu "incapacidad". Sinceramente no creo, como comenta el amigo Al, que pueda distinguirse a feeling, la diferencia de agilidad.

// Saludos

Casimiro Notevi 04-11-2010 01:46:24

No digo que uno sea mejor que otro técnicamente, estoy hablando de las 'malas formas' de intel,

Cita:

Empezado por crandel
Mucho mas sencillo es decir: compilador no soportado -> ejecutar instrucciones básicas.

El caso es que según el comentario, sí que conocen las instrucciones adecuadas, pero usan las más lentas, a propósito, a eso lo llamo "poco ético" o simplemente "tramposo".

Cita:

...mientras que para procesadores de la competencia suele elegir el bloque de código más lento, a pesar de tener los juegos de instrucciones adecuados, con lo cual el mismo software funcionará más lentamente en procesadores no Intel...

Casimiro Notevi 04-11-2010 01:50:20

Cita:

Empezado por roman (Mensaje 381208)
No entiendo tu comentario Casimiro.[.]

No me he explicado bien, pero quería decir que sí, que yo sigo viendo una falta tremenda de ética y de buenos modales por parte de intel, incluso lo defino como "tramposo".

roman 04-11-2010 01:57:31

Bueno, yo a lo que me refería es a que el comentario de Crandel viene perfectamente al caso, estés o no de acuerdo con él. Pero cuando dices:

Cita:

Bien, aunque el asunto que se está tratando es la "ética",
es como si dijeses a Crandel que lo que él comenta no es el tópico del hilo.

Por otro lado, ¿en qué se usa el compilador de Intel? Digo, porque no se trata de que Intel afecte a otros compiladores, tal como si en una misma pc coexistieran procesadores de distintos fabricantes y uno le jugara chueco a otro. Se trata de un compilador que puedes o no usar. Por ejemplo, desconozco si AMD tiene su propio compilador, pero, si lo tiene, ¿estás seguro de que no optimiza para el caso de AMD?

Vamos, que optimizar para lo que es de casa porque es lo que mejor se conoce, no me parece, por sí mismo, una práctica deshonesta. Ni tampoco que no lo sea; es decir, que considero que no es suficiente como para hacer un juicio tan fuerte.

// Saludos

Al González 04-11-2010 04:58:46

Cita:

Empezado por roman (Mensaje 381209)
Coincido en tu "incapacidad". Sinceramente no creo, como comenta el amigo Al, que pueda distinguirse a feeling, la diferencia de agilidad.

Ah, es que en ese entonces hacía uso de mis poderes extrasensoriales. :p

Aún así, creo que un fabricante de procesadoras, sea cual sea, si de pronto decide crear también un compilador universal, debería tener en cuenta (y para bien de todos) las capacidades relevantes de los dos o tres procesadores más populares.

Casimiro Notevi 04-11-2010 11:16:10

Cita:

Empezado por roman (Mensaje 381214)
[..] Vamos, que optimizar para lo que es de casa porque es lo que mejor se conoce, no me parece, por sí mismo, una práctica deshonesta. [..]

Ya, perfecto, pero tampoco vale "desoptimizar" la competencia ;)

roman 04-11-2010 15:59:48

Cita:

Empezado por Al González (Mensaje 381229)
Aún así, creo que un fabricante de procesadoras, sea cual sea, si de pronto decide crear también un compilador universal, debería tener en cuenta (y para bien de todos) las capacidades relevantes de los dos o tres procesadores más populares.

Puedo estar de acuerdo con eso, pero, en todo caso habla mal de Intel en cuanto a su capacidad de hacer un buen software, más no en cuanto a su "deshonestidad". Por cierto, ¿lo de procesadoras es por lo de igualdad de género? ¿Ahora tenemos que decir, procesadores y procesadoras... :D

Cita:

Empezado por Casimiro Notevi (Mensaje 381242)
Ya, perfecto, pero tampoco vale "desoptimizar" la competencia ;)

Pero, ¿en qué punto estaría haciendo esto?

// Saludos

Casimiro Notevi 04-11-2010 16:32:36

Cita:

Empezado por roman (Mensaje 381274)
[..] Pero, ¿en qué punto estaría haciendo esto?

Entiendo que aquí:
Cita:

...mientras que para procesadores de la competencia suele elegir el bloque de código más lento, a pesar de tener los juegos de instrucciones adecuados, con lo cual el mismo software funcionará más lentamente en procesadores no Intel...

roman 04-11-2010 16:51:31

Claro Casimiro, pero tal como comento con Al, eso en todo caso habla de la incapacidad de Intel de hacer un software completo, mas no de una práctica deshonesta. Es decir, seleccionar el bloque de código más lento, no necesariamente significa que se actua con dolo; bien puede ser simplemente, como lo apunta Crandel, que seleccionan el código básico o genérico para no meterse en honduras de estudiar las especificidades e un elemento que no conocen a cabalidad.

// Saludos

Casimiro Notevi 04-11-2010 17:30:28

Está claro que en esto no tenemos el mismo punto de vista ni vemos lo mismo :)
Cita:

Empezado por roman (Mensaje 381282)
[..] un elemento que no conocen [..]

Cita:

Empezado por Casimiro Notevi (Mensaje 381278)
[..] a pesar de tener los juegos de instrucciones adecuados [..]


roman 04-11-2010 17:37:02

Yo creo que vemos lo mismo pero lo interpretamos distinto.

Tener las instrucciones no significa conocerlas a fondo. Requiere mucho tiempo y esfuerzo compilar para distintas plataformas aún teniendo las instrucciones a mano. Si haces un programa multiplataforma, por ejemplo, quizá puedas optimizar para pc, pero no para mac aun teniendo las instrucciones a mano, simplemente porque no es tu fuerte. Y, ya por eso, ¿eres deshonesto?

// Saludos

Casimiro Notevi 04-11-2010 17:48:27

Cita:

Empezado por roman (Mensaje 381293)
Yo creo que vemos lo mismo pero lo interpretamos distinto.

Bueno, en ese caso se puede interpretar de varias formas, pero y en estos:
La UE multa a Intel con 1600 millones de euros
La FTC denuncia a intel por prácticas monopolísticas
AMD acusa a Intel de amenazar a los fabricantes para que no usen sus productos


La franja horaria es GMT +2. Ahora son las 04:20:06.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi