Siempre hemos sido una tienda de Intel. Todos los desarrolladores usan máquinas Intel, la plataforma recomendada para los usuarios finales es Intel, y si los usuarios finales quieren ejecutar AMD, es su punto de observación. Tal vez el departamento de pruebas tenía una máquina AMD en algún lugar para verificar que no enviamos nada completamente roto, pero eso fue todo.¿Cuánto debería preocuparme por el compilador Intel C++ que emite un código subóptimo para AMD?
Hasta hace unos años solo usábamos el compilador MSVC y dado que realmente no ofrece muchas opciones de ajuste del procesador más allá del nivel SSE, a nadie le preocupaba demasiado si el código podría favorecer a un proveedor x86 sobre otro . Sin embargo, más recientemente hemos estado usando mucho el compilador de Intel. Definitivamente, nuestro material obtiene importantes beneficios de rendimiento (en nuestro hardware Intel), y sus capacidades de vectorización significan menos necesidad de ir a asm/intrinsics. Sin embargo, la gente está empezando a ponerse un poco nerviosa sobre si el compilador de Intel realmente no puede estar haciendo un buen trabajo para el hardware de AMD. Ciertamente, si ingresa a las bibliotecas Intel CRT o IPP, verá muchas consultas de cpuid para configurar, al parecer, tablas de salto para funciones optimizadas. Sin embargo, parece poco probable que Intel se tome la molestia de hacer algo bueno por los chips de AMD.
¿Alguien con alguna experiencia en esta área puede comentar si es un gran problema o no en la práctica? (Todavía tenemos que realizar pruebas de rendimiento en AMD).
Actualización 2010-01-04: Bueno, la necesidad de soportar AMD nunca se hizo lo suficientemente concreta como para que pudiera hacer ninguna prueba yo mismo. Hay algunas lecturas interesantes sobre el problema here, here y here embargo.
actualización 2010-08-09: Parece la solución Intel-FTC tiene algo que decir sobre este tema - ver sección de this article "Los compiladores y trucos sucios".
¿Es su negocio prerrogativa ser independiente de la CPU? –
He estado buscando en Internet durante los últimos minutos buscando alguna evidencia de que Intel haya hecho algo para hacer que el código para AMD funcione lentamente ... sin embargo, no puedo encontrar nada más que una avalancha infinita de artículos basura de blogueros de tecnología que tienen ni idea de lo que están hablando. No hay un punto de referencia a la vista. – Meta
@Meta: Tenga en cuenta que todo el alboroto sobre esto fue alrededor de 2004-2005. Consulte los enlaces al final de http://www.agner.org/optimize/blog/read.php?i=49#49 para obtener enlaces a cosas como https://groups.google.com/forum/?hl=es #! topic/comp.arch/TkLxZRHPhkA% 5B1-25% 5D que informa un aumento del 22% a Intel desde la "función". – timday