Jump to content
Juan

Nuevos compiladores de Intel para xCode

Recommended Posts

Pues eso. :)

 

http://www.intel.com/cd/ids/developer/asmo-na/eng/255716.htm

 

"…Intel® Fortran Compiler for Mac OS

This compiler provides a fast and easy way to get maximum application performance for compute-intensive applications. This compiler supports OpenMP* and auto-parallelism to take advantage of performance features available in Intel Multi-Core processors.

 

Intel® C++ Compiler for Mac OS

This highly optimized compiler handles the most demanding applications. Intel augments the compiler with advanced support for threading through OpenMP* and auto-parallelism capabilities.

 

Intel® Math Kernel Library for Mac OS

This library is a set of highly optimized, thread-safe, mathematical functions that reduces the need for hand-coding and allows developers to achieve outstanding performance for engineering, scientific, and financial applications.

 

Intel® Integrated Performance Primitives for Mac OS

This library set enables software developers to achieve maximum application performance and reduce development time by providing highly optimized functions for math, graphics, multimedia, audio, video, speech, computer vision, image, cryptography, and signal processing..."

Share this post


Link to post
Share on other sites

Hola:

 

Aunque la gente esta todavia con el tema del BootCamp, creo que esto es importantisimo:

 

Estas herramientas haran que el codigo de los programas que esten funcionando bajo Intel,vaya mucho mas rapido...Incluyen OpenMP y soporte multithread

 

 

Lamentablemente son de pago...Ahi va el correo que acabo de recibir....

 

 

Introducing the Intel® C++ and Fortran Compilers, Standard and Professional Editions, for Mac OS*

 

Intel and Apple* are proud parents of the new generation of Macs* based on the advanced Intel® Core Duo and Intel Core Solo processors. C++ and Fortran developers can benefit from this hardware advantage today.

 

The Intel® C++ and Fortran Compilers, Standard and Professional Editions, for Mac OS provide a fast and easy way to increase performance for compute-intensive applications.

 

The Intel C++ and Fortran Compilers demonstrate Intel's commitment to Macintosh developers. State-of-the-art features and usability take full advantage of next-generation Mac hardware:

 

* Performance via multi-threaded application support. OpenMP* and auto-parallelization allow you to create highly optimized, threaded code for Mac computers with dual-core Intel® processors.

 

* Compatibility with popular development tools and environments including Xcode and C++ interoperability with gcc 4.0.

 

* World-class support, free product updates, and extensive technical documentation.

 

For more information, please visit

http://www.intel.com/cd/software/products/...a/eng/index.htm

 

Copyright © 2006, Intel Corporation. All rights reserved. Prices and availability subject to change without notice. *Other brands and names are the property of their respective owners.

 

Steve Lionel

Developer Products Division

Intel Corporation

Nashua, NH

Edited by jp

Share this post


Link to post
Share on other sites

¿Esto tiene que ver con lo que ha posteado nuestro amigo Juan en http://www.macuarium.com/foro/index.php?showtopic=155838 ?

 

Ya que estamos en traje de faena, pregunto si esto es lo que se viene hablando hace tanto tiempo:

 

"Performance via multi-threaded application support. OpenMP* and auto-parallelization allow you to create highly optimized, threaded code for Mac computers with dual-core Intel® processors."

 

Esto es, ¿nos metemos de lleno en el uso de micros múltiples?

Edited by Polímero

Share this post


Link to post
Share on other sites

A ver quien con tiempo y buen ingles se anima hacer alguna traduccion que no estaria de mas :rolleyes:

Share this post


Link to post
Share on other sites

He unido aquí tu tema, jp, que creo que trata sobre lo mismo.

 

Si me he equivocado envíame un privado. :)

Share this post


Link to post
Share on other sites

Bueno aunque sea de pago.... los programas profesionales (lease photoshop por ejemplo) podrán utilizar estos compiladores y los programas irán mas rápido a beneficio de la gran cantidad de usuarios.

 

La verdad es que que fueran de libre distribución seria muy interesante. Cada vez veo peor que las herramientas de desarrollo sean de pago :(

Share this post


Link to post
Share on other sites

Estando Cocoa basado en Objective-C, ¿sirven para algo estos compiladores o se tendrá que programar cualquier aplicación Cocoa compilando sólo con gcc?

Share this post


Link to post
Share on other sites

Traducción

 

Pues eso. :)

 

http://www.intel.com/cd/ids/developer/asmo-na/eng/255716.htm

 

"Compilador de Fortran Intel® para Mac OS

Este compilador proporciona una forma fácil y rápida de obtener el máximo rendimiento en aplicaciones de cómputo intensivo. Este compilador soporta OpenMP* y auto-paralelismo para aprovechar las características ofrecidas por los procesadores Multi-Core de Intel.

 

Compilador de C++ Intel® para Mac OS :) :) :) :) :) :)

Este compilador altamente optimizado se adapta a las aplicaciones mas demandadas. Intel

This highly optimized compiler handles the most demanding applications. Intel amplía el compilador con soporte avanzado para threading (varios hilos de ejecución simultáneos) mediante OpenMP* y capacidad de auto-paralelismo.

 

Librería Math Kernel de Intel® para Mac OS

Esta librería es un conjunto de funciones matemáticas altamente optimizadas y thread-safe (preparadas para funcionar correctamente con varios hilos de ejecución) que reducen la necesidad de programarlas a mano y permite a los desarrolladores alcanzar un rendimiento excepcional en aplicaciones de ingeniería, científicas y de finanzas.

 

Primitivas de Rendimiento Integradas de Intel® para Mac OS

Este conjunto de librerías permite a los desarrolladores de software alcanzar el máximo rendimiento en sus aplicaciones y reducir el tiempo invertido en desarrollarlas gracias a funciones altamente optimizadas para matemáticas, gráficos, multimedia, audio, vídeo, habla, visión artificial, imágenes, criptografía, y procesamiento de señales..."

 

Me lo pido!!! :mrgreen:

 

Saludetes!!

Share this post


Link to post
Share on other sites
Estando Cocoa basado en Objective-C, ¿sirven para algo estos compiladores o se tendrá que programar cualquier aplicación Cocoa compilando sólo con gcc?

En las aplicaciones Cocoa se pueden mezclar "trozos" de código en Objective-C con trozos de código en C puro. Creo recordar que los compiladores de Intel permitían enlazar código compilado con gcc, con código compilado con los de Intel. Por tanto, estos compiladores permitirían acelerar un segmento de código, escrito en C puro, que necesitara un rendimiento máximo, pudiendo compilar el resto de la aplicación (escrita en Objective-C) con gcc, y pudiendo enlazar todo para formar un sólo ejecutable.

Share this post


Link to post
Share on other sites

De momento he probado con un programilla que tenía a medias y me ha rotado 1000 veces una malla en 9 segundos (simplemente cambiando de compilador), cuando con GCC 4.0 me tarda 30 segundos en hacer lo mismo.

 

Y otra de 434 segundos ha bajado a 146 :)

Edited by BlueTrance

Share this post


Link to post
Share on other sites
He unido aquí tu tema, jp, que creo que trata sobre lo mismo.

 

Si me he equivocado envíame un privado. :)

 

 

Gracias, no me habia dado cuenta, que Juan lo habia posteado unas horas antes...

 

JP

Share this post


Link to post
Share on other sites
De momento he probado con un programilla que tenía a medias y me ha rotado 1000 veces una malla en 9 segundos (simplemente cambiando de compilador), cuando con GCC 4.0 me tarda 30 segundos en hacer lo mismo.

 

Y otra de 434 segundos ha bajado a 146 :)

 

¿Has usado las opciones de optimizacion en ambos casos?

 

Interesante, Deduzco que ya te has bajado la Demo.... ¿A que te refieres con la malla?...Lastima de no tener un Core Duo....Ciertamente pensaba comprarme un PC para desarrollar en Core Duo....Pero si es cierto que se puede instalar Linux (de PC) en un Mac..me lo pensaria....En este momento se me hace muy cuesta arriba gastarme presupuesto en los Compiladores de Fortran y C++ y las librerias optimizadas...Para Linux, los compiladores son gratis...

 

 

Ciertamente a mi me ha sorprendido que los sacaran tan rapido...Intel claramente va a la suya...Es mas, yo pensaba que los sacarian en la WWDC en Agosto...O llevaban desarrollandolos mucho tiempo antes del acuerdo, o es que tienen (me consta) un equipo de gente impresionante para desarrollos, solo de Mac...

 

 

Respecto de la pregunta de Gwidion que contesta MarvinTM...Estoy de acuerdo con tu respuesta, pero ojo, el problema es que puede haber partes que haya que reescibir de cero...Imaginate por ejemplo que el nucleo esta en Objetive C...Para mejorarlo, habria que reescribirlo de cero...Esto era uno de los peroblemas que comentaba la gente de Ars Technica...

 

Bueno, pues ya estais tardando en aprender OpenMP, para programar los Core Duo...

 

Saludos

 

JP

Edited by jp

Share this post


Link to post
Share on other sites

Y quien sabe los precios¿?

 

Por que puede ser barato o caro todo depende ;)

 

Saludos,

Share this post


Link to post
Share on other sites

Respecto de la pregunta de Gwidion que contesta MarvinTM...Estoy de acuerdo con tu respuesta, pero ojo, el problema es que puede haber partes que haya que reescibir de cero...Imaginate por ejemplo que el nucleo esta en Objetive C...Para mejorarlo, habria que reescribirlo de cero...Esto era uno de los peroblemas que comentaba la gente de Ars Technica...

 

Bueno, pues ya estais tardando en aprender OpenMP, para programar los Core Duo...

 

Saludos

 

JP

 

No sólo eso, ¿estará Mac OS X compilado en gcc o con los compiladores de Intel?

 

Porque si está basado primordialmente en Objective-C (al igual que todos los frameworks de Cocoa) ganaría mucho compilándose con los compiladores de Intel

Share this post


Link to post
Share on other sites
Esto me suena a pacto... tú me vendes el procesador y yo te saco el compilador. ;)

 

 

Pero no de ahora....Estaba ya pactado desde el principio...Porque un procesador, sin un buen compilador sirve para poco....

 

 

Y quien sabe los precios¿?

 

Por que puede ser barato o caro todo depende ;)

 

Saludos,

 

Estan en la pagina web de intel....Tienen precios standard y licencias de estudiante y academicas...Hay diversas opciones...No lo pongo directamente porque hay un monton de posibilidades...

 

Para un usuario final, si se quieren ademas todas las librerias, es algo caro...Una posibilidad seria, instalar el Linux de PC...Creo que alguien comento que ahora es tecnicamente posible (¿Fue SuperJavi?) y usarlo desde ese Linux...ya que en Linux, si no se usan con proposito comercial, son gratuitos...De hecho, yo los uso asi en un PC...En otras arquitecturas donde los he usado, es en Itanium 2 (SGI), pero aqui ya vienen instalados en la maquina...y no son gratis...Incluso en AMD (bajo Linux) tambien se pueden usar, pero solo funcionan con 32 bits...No funcionan en modo 64....

 

No sólo eso, ¿estará Mac OS X compilado en gcc o con los compiladores de Intel?

 

Porque si está basado primordialmente en Objective-C (al igual que todos los frameworks de Cocoa) ganaría mucho compilándose con los compiladores de Intel

 

Me imagino que lo iran cambiando poco a poco a los compiladores de Intel....De momento no los usan para casi nada (creo yo)....

 

 

Saludos

 

JP

Edited by jp

Share this post


Link to post
Share on other sites
Estan en la pagina web de intel....Tienen precios standard y licencias de estudiante y academicas...Hay diversas opciones...No lo pongo directamente porque hay un monton de posibilidades...

 

Para un usuario final, si se quieren ademas todas las librerias, es algo caro...Una posibilidad seria, instalar el Linux de PC...Creo que alguien comento que ahora es tecnicamente posible (¿Fue SuperJavi?) y usarlo desde ese Linux...ya que en Linux, si no se usan con proposito comercial, son gratuitos...De hecho, yo los uso asi en un PC...En otras arquitecturas donde los he usado, es en Itanium 2 (SGI), pero aqui ya vienen instalados en la maquina...y no son gratis...Incluso en AMD (bajo Linux) tambien se pueden usar, pero solo funcionan con 32 bits...No funcionan en modo 64....

 

Por procesador si sería posible usar los de Linux, pero hay un problema y es que OSX no utiliza ELF como sistema de ejecutable binario, así que un programa compilado con la versión gratuita de Linux no funcionará en OSX.

Solo habría dos posibilidades de que funcionara, que describo a continuación. Los que entiendan más en desarrollo de OSX que yo podrán descartarlas o no:

 

1) que el compilador de Linux pudiera hacer cross-compiling desde Linux a la plataforma OSX.

2) que el mismo emulador de ejecutable ELF de FreeBSD estuviera en OSX.

 

En cualquiera de ambos casos, de ser posibles, me temo que la integración con XCode sería extremadamente difícil o casi imposible. Podrías hacer ejecutables tipo Linux o Fink, pero me temo que no podrías hacer aplicaciones en Cocoa o Carbon, o cualquier cosa nativa de OSX.

 

En mi opinión, veo muy difícil que con el compilador gratuito de Intel para Linux puedas hacer nada en OSX... a pasar por caja toca. ;)

 

Saludos.

Share this post


Link to post
Share on other sites
Esto me suena a pacto... tú me vendes el procesador y yo te saco el compilador. ;)

De eso se trata al hacer los pactos para elegir los procesadores que llevarán las máquinas :)

 

Bueno, voy a aclarar lo de mis pruebas......

 

Se trata de un programilla escrito en C++ sencillote de momento. Es decir, una buena ristra de "fors", "ifs" y "news", lecturas y escrituras de un archivo gordo y uso de grandes volúmenes de datos enteros y float. Pero todo muy genérico y básico, apenas algunas llamadas a funciones de <math.h> de vez en cuando. Por supuesto produce un sólo hilo de ejecución.

 

Se trata de que sea independiente de plataforma porque de hecho en principio estoy trabajando con ello en Linux. Las optimizaciones da exactamente que las active o no en este caso (he echo las pruebas y los resultados son idénticos), tanto con GCC como con ICC (así se hace la llamada al compilador de Intel). Hablo de las optimizaciones específicas, no de los clásicos -O.

 

 

Respecto a las optimizaciones -O:

En GCC activando las optimizaciones -O las mejoras son las siguientes.

· Estando desactivadas tarda 25 segundos en leer un archivo de 1.500.000 líneas y 461 segundos en efectuar las 1000 rotaciones.

· Activando -Os tarda 21 segundos en leer el archivo y 356 en rotarlo. (222.000 fallos de caché)

 

Con el ICC:

· Teniéndolas desactivadas (None) tarda 26 segundos en leer el archivo y 576 en rotarlo.

· Activando -O3 tarda 19 segundos en leer el fichero y 139 en rotarlo. Reduce los fallos de caché de 180.000 (en None) a 33.000.

 

Bueno, con "malla" quería decir que se trata de una malla 3D de algo más de 500.000 vértices (con tres coordenadas float) y algo más de 1.000.000 de triángulos.

 

 

 

Respecto a las optimizaciones específicas:

De las que ofrece ICC he probado a activar la "auto-paralelización para generar bucles multithread que pueden ser ejecutados en paralelo sin riesgo de condiciones de carrera". Me sigue ejecutando un sólo thread :lol: (de lo que deduzco que mi programa es de momento MUY secuencial).

En general, ninguna de las optimizaciones específica de los dos compiladores mejora su rendimiento para este programa.

 

 

Mi conclusión es que, en el peor de los casos (código de andar por casa sin posibilidad de paralelizar) el compilador de Intel se comporta de manera muy muy satisfactoria :macu: :macu: :macu:

Estoy deseando vectorizar el código y paralelizarlo para ver en qué se puede llegar a convertir :)

 

 

Si luego tengo un ratillo condenso los datos en una tabla mejor :blush:

 

Un par de apuntes finales:

La versión que estoy utilizando es la de evaluación.

Cuando pones como arquitectura destino PPC e Intel no general un binario universal sino dos ejecutables por separado (el de PPC mediante GCC).

 

Saludetes!!

Edited by BlueTrance

Share this post


Link to post
Share on other sites

Pues parece que la diferencia es notoria, pero BlueTrance, deberías probar a configurar el GCC con optimizaciones e instrucciones específicas del CoreDuo para que la comparación fuera justa.

 

Prueba en GCC -O3, y -march=CoreDuo (o lo que sea), y entonces la comparación será mas realista. ;)

 

Edito:

 

Bien, mirando las opciones de optimización del GCC, que puedes encontrar aquí veo que las opciones con las que tienes que compilar GCC para que sea correcta la comparación son:

 

gcc -march=prescott -O3 -fomit-frame-pointer

 

Es probable que con esas opciones la velocidad de tu aplicación se dispare usando GCC. :)

 

Nota: si el -march=prescott no funciona por ser solo para versiones nuevas de GCC, prueba con otras de la página que te he indicado.

Edited by superjavi

Share this post


Link to post
Share on other sites

 

Estan en la pagina web de intel....Tienen precios standard y licencias de estudiante y academicas...Hay diversas opciones...No lo pongo directamente porque hay un monton de posibilidades...

 

Para un usuario final, si se quieren ademas todas las librerias, es algo caro...Una posibilidad seria, instalar el Linux de PC...Creo que alguien comento que ahora es tecnicamente posible (¿Fue SuperJavi?) y usarlo desde ese Linux...ya que en Linux, si no se usan con proposito comercial, son gratuitos...De hecho, yo los uso asi en un PC...En otras arquitecturas donde los he usado, es en Itanium 2 (SGI), pero aqui ya vienen instalados en la maquina...y no son gratis...Incluso en AMD (bajo Linux) tambien se pueden usar, pero solo funcionan con 32 bits...No funcionan en modo 64....

 

Por procesador si sería posible usar los de Linux, pero hay un problema y es que OSX no utiliza ELF como sistema de ejecutable binario, así que un programa compilado con la versión gratuita de Linux no funcionará en OSX.

Solo habría dos posibilidades de que funcionara, que describo a continuación. Los que entiendan más en desarrollo de OSX que yo podrán descartarlas o no:

 

1) que el compilador de Linux pudiera hacer cross-compiling desde Linux a la plataforma OSX.

2) que el mismo emulador de ejecutable ELF de FreeBSD estuviera en OSX.

 

En cualquiera de ambos casos, de ser posibles, me temo que la integración con XCode sería extremadamente difícil o casi imposible. Podrías hacer ejecutables tipo Linux o Fink, pero me temo que no podrías hacer aplicaciones en Cocoa o Carbon, o cualquier cosa nativa de OSX.

 

En mi opinión, veo muy difícil que con el compilador gratuito de Intel para Linux puedas hacer nada en OSX... a pasar por caja toca. ;)

 

Saludos.

 

Si,si lo que comentas es todo cierto...pero me he debido expresar mal...:)

 

La idea era desarrollar para procesador multicore (yo trabajo en paralelismi)....no para OS X...Entonces el asunto era instalar un Linux de PC, y sobre este, los compiladores de Intel...Con esto no necesitaria comprar ni un PC, ni los compiladores de Intel para Mac...

 

Obviamente, tal y como comentas, si quiero trabajar con el OS X no me queda mas remedio que pasar por caja...El asunto es que un compilador en si (el de C++) no es caro, si lo compras en version "academic", pero si usas (como es mi caso) el C++, el Fortran, y las librerias matematicas optimizadas (MKL), entonces la cosa sale carisima.....

 

Saludos

 

JP

Share this post


Link to post
Share on other sites
Bueno, voy a aclarar lo de mis pruebas......

 

Se trata de un programilla escrito en C++ sencillote de momento. Es decir, una buena ristra de "fors", "ifs" y "news", lecturas y escrituras de un archivo gordo y uso de grandes volúmenes de datos enteros y float. Pero todo muy genérico y básico, apenas algunas llamadas a funciones de <math.h> de vez en cuando. Por supuesto produce un sólo hilo de ejecución.

 

Interesante, vamos por partes...

 

 

Se trata de que sea independiente de plataforma porque de hecho en principio estoy trabajando con ello en Linux. Las optimizaciones da exactamente que las active o no en este caso (he echo las pruebas y los resultados son idénticos), tanto con GCC como con ICC (así se hace la llamada al compilador de Intel). Hablo de las optimizaciones específicas, no de los clásicos -O.

 

¿Has usado todas? Te lo digo porque son tan complejas que hay hasta manuales especificos solo para ellas...Si tienes interes te digo cual es el titulo del manual...Es que lo tengo en el trabajo....

 

En cuanto a opciones prueba estas si quieres y ya me diras:

 

CFLAGS = -O3 -Wno-deprecated -fast

 

Creo que habia alguna mas pero no recuerdo ahora mismo..

 

Respecto a las optimizaciones -O:

En GCC activando las optimizaciones -O las mejoras son las siguientes.

· Estando desactivadas tarda 25 segundos en leer un archivo de 1.500.000 líneas y 461 segundos en efectuar las 1000 rotaciones.

· Activando -Os tarda 21 segundos en leer el archivo y 356 en rotarlo. (222.000 fallos de caché)

 

Con el ICC:

· Teniéndolas desactivadas (None) tarda 26 segundos en leer el archivo y 576 en rotarlo.

· Activando -O3 tarda 19 segundos en leer el fichero y 139 en rotarlo. Reduce los fallos de caché de 180.000 (en None) a 33.000.

 

Bueno, con "malla" quería decir que se trata de una malla 3D de algo más de 500.000 vértices (con tres coordenadas float) y algo más de 1.000.000 de triángulos.

 

Hombre, pues si que ganas por el hecho de usarlas :) Respecto de los fallos de cache, bueno, no se, quiza sean muchos, pero claro desconozco los datos con los que tratas, y si se podrian evitar organizando los datos de otra forma...

 

 

Respecto a las optimizaciones específicas:

De las que ofrece ICC he probado a activar la "auto-paralelización para generar bucles multithread que pueden ser ejecutados en paralelo sin riesgo de condiciones de carrera". Me sigue ejecutando un sólo thread :lol: (de lo que deduzco que mi programa es de momento MUY secuencial).

En general, ninguna de las optimizaciones específica de los dos compiladores mejora su rendimiento para este programa.

 

En el caso del ICC, lo que te pasa es logico...Vamos a ver...Sin tratar de ser demasiado tecnico: el codigo que utilices en multithread tiene que estar "preparado"...Es decir las estructuras de datos tienen que estar preparadas, y la forma de trabajar con los bucles (unrolling) tambien, para poder sacar partido de esas opciones...Yo las he usado en mi codigo (que lo he preparado para ello) y obtengo una ganancia del 20 al 30 %...El codigo no es con varias threads....Es solo a nivel interno del procesador...Desde el punto de vista externo, solo vas a usar una thread...Es a lo que se refiere la autoparalelizacion...

 

Si lo que quieres es usar varias threads a nivel de usuario, esas opciones no te valen....Ha de usar la opcion -openmp...Pero entonces tienes que usar ya todo el tema de las directivas openmp....O sea, codigo paralelo...

 

Mi conclusión es que, en el peor de los casos (código de andar por casa sin posibilidad de paralelizar) el compilador de Intel se comporta de manera muy muy satisfactoria :macu: :macu: :macu:

Estoy deseando vectorizar el código y paralelizarlo para ver en qué se puede llegar a convertir :)

 

Mi conclusion es similar...Cuando he trabajado con este compilador, es una pasada lo bien que funciona, respecto el de GNU...Incluso en x86....En arquitecturas como Itanium 2, la ganancia es bestial...Simplemente hay que pasar del de GNU...

 

Si luego tengo un ratillo condenso los datos en una tabla mejor :blush:

 

Un par de apuntes finales:

La versión que estoy utilizando es la de evaluación.

Cuando pones como arquitectura destino PPC e Intel no general un binario universal sino dos ejecutables por separado (el de PPC mediante GCC).

 

Saludetes!!

 

Eso que comentas es interesante...Creo que para usar un binario universal, has de hacerlo con las posiblidades que el compilador da para el Xcode...

 

Me estas poniendo los dientes largos...:) Creo que al final tendre que comprarme un Core Duo....Es que me queria esperar al Conroe...y comprar un PowerMac....

 

 

Saludos

 

JP

Edited by jp

Share this post


Link to post
Share on other sites

Buenas superjavi ;)

 

Acabo de rehacer las pruebas para GCC, pero ya te aviso que los resultados son los mismos :blush:

 

Primero he cambiado -Os por -O3. Idéntico. Había usado -Os porque en su día ya comprobé que no tenía ninguna mejora con -O3 y -Os además del tiempo de ejecución reduce el tamaño del archivo objeto (se supone).

 

Después he añadido el flag -fomit-frame-pointer y ha empeorado el GCC en 40 segundos y el ICC en 20 :(

 

Y respecto al -march=prescott, igual que sin ponerlo. No me molesto en probar más de la lista porque es el más parecido al Core Duo. Este GCC sí soporta instrucciones SSE3, pero mi programa de momento no lidia con ellas.

 

Así que nada... de momento es lo que hay, cuando tenga alguna novedad la comunicaré :), aunque esperemos que los primeros en sorprendernos sean los desarrolladores de programas de peso.

 

 

 

...... y acabo de ver que jp ha respondido también :P

 

El "no-deprecated" ya estaba activado :) y con -fast sigue exactamente igual.

 

Lo de "no ganar con las optimizaciones", me refería a las que no son -On. Con esas ya lo creo que se gana y mucho activándolas en ambos compiladores :)

 

Lo de tratar de organizar los datos de otra manera para mejorar el rendimiento, que no te quepa ninguna duda.

 

Lo de aprovechar paralelismos, ya me imaginaba que iban por ahí los tiros ;). Aunque me da a mí que si termino adaptándolo va a ser aún mayor la superioridad del ICC. Eso sí, de momento se queda así esto.

 

Y lo de respecto a crear binarios universales, de momento sigo sin sacarlo.

 

Saludetes!!

Share this post


Link to post
Share on other sites
No sólo eso, ¿estará Mac OS X compilado en gcc o con los compiladores de Intel?

 

Porque si está basado primordialmente en Objective-C (al igual que todos los frameworks de Cocoa) ganaría mucho compilándose con los compiladores de Intel

Bueno, Quicktime es Carbon, no sé si todo CoreAudio también. Hay muchos bloques muy aptos de ser pasados por la piedra de esos compiladores. Y, si no me equivoco, toda la "parte Unix" es C o C++.

Share this post


Link to post
Share on other sites
No sólo eso, ¿estará Mac OS X compilado en gcc o con los compiladores de Intel?

 

Porque si está basado primordialmente en Objective-C (al igual que todos los frameworks de Cocoa) ganaría mucho compilándose con los compiladores de Intel

 

Aquí comentan que Leopard será integramente creado con los compiladores de Intel.

Cito (aparece en una de las respuestas):

Una cosa que no es un rumor, sino que parece un hecho, es que Leopard será la primera versión para Intel creada íntegramente con los compiladores de Intel, lo que reducirá el tamaño del código respecto a gcc —el sistema de compilación actual—, y mejorará aún más la velocidad en esas máquinas.

Eso si no cita la fuente o yo no la encuentro

Share this post


Link to post
Share on other sites
Buenas superjavi ;)

 

El "no-deprecated" ya estaba activado :) y con -fast sigue exactamente igual.

 

Lo de "no ganar con las optimizaciones", me refería a las que no son -On. Con esas ya lo creo que se gana y mucho activándolas en ambos compiladores :)

 

Lo de tratar de organizar los datos de otra manera para mejorar el rendimiento, que no te quepa ninguna duda.

 

Lo de aprovechar paralelismos, ya me imaginaba que iban por ahí los tiros ;). Aunque me da a mí que si termino adaptándolo va a ser aún mayor la superioridad del ICC. Eso sí, de momento se queda así esto.

 

Y lo de respecto a crear binarios universales, de momento sigo sin sacarlo.

 

Saludetes!!

 

Por lo que comentas, la sensacion que da (pero la opinion es arriesgadisima :) , ya que no conozco el codigo) es que hay algun problema con el acceso a los datos en memoria...Quiza no esten bien organizados, y provoques muchos fallos de cache, con lo cual las optimizaciones, no sirven de mucho, ya que la penalizacion por este tipo de fallos es muy grande en los micros actuales...

 

Aquí comentan que Leopard será integramente creado con los compiladores de Intel.

 

Eso si no cita la fuente o yo no la encuentro

 

Es una opinion personal, la que voy a dar...No me lo creo...ya que no solo se trata de recompilar todo el OS...Habria que reconvertirlo de Objetive-C a C o C++....Eso si, lo que si me creo es que comiencen a hacerlo a partir de Leopard...Lo que supone dos cosas, a mi modo de ver

 

1) Se va a producir una optimizacion del codgo del OS en Leopard

 

2) Esa optimizacion solo se va a producir en los Intel...No asi en los PPC...

 

Saludos

 

JP

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.