Re: [Python-es] [OT] Artículo sobre CPUs hambrie ntas

2010-03-26 Por tema Francesc Alted
Iep, Pau,

A Thursday 25 March 2010 22:16:06 Pau Freixes escrigué:
> Interesante Francesc, buena introducción a un problema latente y más
> que actual - y que discutimos tiempo aca.

Si, la verdad es que tomé 'prestados' varios elementos de nuestras discusiones 
pasadas para el artículo.  Cuando recapacitas, es increible la cantidad de 
cosas que se aprenden en los foros como éste.

> Quizá la explosión de
> lenguajes interpretados como lenguajes de uso habitual ha alejado un
> poco más al programador de las tecnicas habituales de optimización ?

Probablemente, aunque los principios son igual de generales, así que también 
se pueden aplicar a lenguajes interpretados (y a Python en particular).  La 
idea que queria comunicar era doble: la disposición de datos en nuestros 
programas es importante, y que hay que hacer uso de las mejores herramientas 
disponibles a nuestro alcance.

Por ejemplo, todos sabemos cuán importante es, dependendiendo de nuestras 
necesidades, el uso apropiado de listas, diccionarios o conjuntos en nuestros 
programas para lograr las mejores prestaciones.  O, cómo usando librerias como 
NumPy junto con BLAS optimizados nos puede llevar a obtener prestaciones 
quasi-óptimas en nuestros programas.

Pero si tú tienes que hacerte tu propio algoritmo y éste no está ya 
implementado de manera eficiente, aquí si que los lenguajes interpretados no 
son tan flexibles y probablemente hayas de bajar al nivel de lenguajes 
compilados para aplicar las optimizaciones.

> Por ejemplo podemos con Python aplicar tecnicas para reducir las malas
> prediciones de salto por parte de la CPU ? tiene sentido hablar de
> esto cuando es la maquina virtual i no el codigo de usuario quien
> realiza las operaciones envueltas en una instrucción "simulada" de
> salto ? si es el caso el branch prediction de la CPU se vuelve más
> "estupido" ?

No, no creo que sea el caso.  Como he dicho antes, cuando estas tratando de 
extraer la última gota de las prestaciones de un procesador, los lenguajes 
compilados (en particular C o Fortran) son mucho más apropiados.  Pero de 
nuevo, asegúrate que lo que quieres hacer no está ya disponible en tu lenguaje 
interpretado preferido.  Por ejemplo, usar numexpr te va a permitir evaluar 
expresiones algebraicas a una velocidad muy similar a hacer tu el programa en 
C, con la ventaja de que numexpr te permite compilar 'al vuelo' (es un JIT), y 
todos sabemos lo que eso significa en términos de comodidad (y por tanto, 
productividad, que al final es lo que se trata de obtener).

Saludos,

-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] [OT] Artículo sobre CPUs hambrie ntas

2010-03-25 Por tema Pau Freixes
Interesante Francesc, buena introducción a un problema latente y más
que actual - y que discutimos tiempo aca. Quizá la explosión de
lenguajes interpretados como lenguajes de uso habitual ha alejado un
poco más al programador de las tecnicas habituales de optimización ?

Por ejemplo podemos con Python aplicar tecnicas para reducir las malas
prediciones de salto por parte de la CPU ? tiene sentido hablar de
esto cuando es la maquina virtual i no el codigo de usuario quien
realiza las operaciones envueltas en una instrucción "simulada" de
salto ? si es el caso el branch prediction de la CPU se vuelve más
"estupido" ?


> 2010/3/25 Francesc Alted :
>> Hace poco me comunicaron que un artículo mío para la revista "Computer in
>> Science and Engineering" ha sido seleccionado para la edición online de
>> "Computing Now".  El artículo habla de la necesidad de entender el modelo
>> jerárquico de memoria para lograr prestaciones decentes en nuestros 
>> programas.
>> Evindentemente se nota mi experiencia en Python así que lo nombro brevemente
>> (aunque el artículo intenta ser lo más agnóstico posible con los lenguajes).
>>
>> Los que esteis interesados, podeis acceder al artículo en:
>>
>> http://www.computer.org/portal/web/computingnow
>>
>> y pinchar en "Why Modern CPUs Are Starving and What Can Be Done About It".
>>
>> Bueno, perdón por el OT, pero no podía resistir la ocasión ;-)  Aunque sé que
>> no hay mucha gente interesada en las muy altas prestaciones en cálculo, 
>> espero
>> que le sirva de ayuda a alguien!
>>
>> --
>> Francesc Alted
>> ___
>> Python-es mailing list
>> Python-es@python.org
>> http://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>
>
>
> --
> --pau
>



-- 
--pau
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] [OT] Artículo sobre CPUs hambrie ntas

2010-03-25 Por tema Pau Freixes
Merci Francesc,

Lo leeré esta noche.

2010/3/25 Francesc Alted :
> Hace poco me comunicaron que un artículo mío para la revista "Computer in
> Science and Engineering" ha sido seleccionado para la edición online de
> "Computing Now".  El artículo habla de la necesidad de entender el modelo
> jerárquico de memoria para lograr prestaciones decentes en nuestros programas.
> Evindentemente se nota mi experiencia en Python así que lo nombro brevemente
> (aunque el artículo intenta ser lo más agnóstico posible con los lenguajes).
>
> Los que esteis interesados, podeis acceder al artículo en:
>
> http://www.computer.org/portal/web/computingnow
>
> y pinchar en "Why Modern CPUs Are Starving and What Can Be Done About It".
>
> Bueno, perdón por el OT, pero no podía resistir la ocasión ;-)  Aunque sé que
> no hay mucha gente interesada en las muy altas prestaciones en cálculo, espero
> que le sirva de ayuda a alguien!
>
> --
> Francesc Alted
> ___
> Python-es mailing list
> Python-es@python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>



-- 
--pau
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] [OT] Artículo sobre CPUs hambrie ntas

2010-03-25 Por tema Juan Ignacio
2010/3/25 Kiko 

>Hace poco me comunicaron que un artículo mío para la revista "Computer in
>Science and Engineering" ha sido seleccionado para la edición online de
>"Computing Now".  El artículo habla de la necesidad de entender el modelo
>jerárquico de memoria para lograr prestaciones decentes en nuestros
programas.
>Evindentemente se nota mi experiencia en Python así que lo nombro
brevemente
>(aunque el artículo intenta ser lo más agnóstico posible con los
lenguajes).


Muy interesante, ya lo estoy imprimiendo para leerlo con calma.



-- 
Juan Ignacio Rodríguez de León
Movil: 605 890514
E-Mail: euriba...@gmail.com
http://elornitorrincoenmascarado.blogspot.com/
http://descon2.com/
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] [OT] Artículo sobre CPUs hambrie ntas

2010-03-25 Por tema Olemis Lang (Simelix)
2010/3/25 Francesc Alted :
> Hace poco me comunicaron que un artículo mío para la revista "Computer in
> Science and Engineering" ha sido seleccionado para la edición online de
> "Computing Now".  El artículo habla de la necesidad de entender el modelo
> jerárquico de memoria para lograr prestaciones decentes en nuestros programas.
> Evindentemente se nota mi experiencia en Python así que lo nombro brevemente
> (aunque el artículo intenta ser lo más agnóstico posible con los lenguajes).
>
> Los que esteis interesados, podeis acceder al artículo en:
>
> http://www.computer.org/portal/web/computingnow
>
> y pinchar en "Why Modern CPUs Are Starving and What Can Be Done About It".
>

Interesante !

Hay otros (e.g. [1]_) que me llamaron la atención también ...

Gracias por compartir la alegría
:o)

.. [1] Collaboration Tools for Global Software Engineering
 
(http://www.computer.org/portal/web/computingnow/0310/whatsnew/software)
 
(http://www.computer.org/cms/Computer.org/ComputingNow/homepage/2010/0310/rW_SW_CollaborationTools.pdf)

-- 
Regards,

Olemis.

Blog ES: http://simelo-es.blogspot.com/
Blog EN: http://simelo-en.blogspot.com/

Featured article:
TracRpc: API v2: New API methods and exceptions. JSON protocol
refactored and tested ? -
http://bitbucket.org/osimons/trac-rpc-mq/changeset/2643efa5f6d8/
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] [OT] Artículo sobre CPUs hambrie ntas

2010-03-25 Por tema Kiko
El 25 de marzo de 2010 09:16, Francesc Alted  escribió:

> Hace poco me comunicaron que un artículo mío para la revista "Computer in
> Science and Engineering" ha sido seleccionado para la edición online de
> "Computing Now".  El artículo habla de la necesidad de entender el modelo
> jerárquico de memoria para lograr prestaciones decentes en nuestros
> programas.
> Evindentemente se nota mi experiencia en Python así que lo nombro
> brevemente
> (aunque el artículo intenta ser lo más agnóstico posible con los
> lenguajes).
>
> Los que esteis interesados, podeis acceder al artículo en:
>
> http://www.computer.org/portal/web/computingnow
>
>
Muchas gracias. He estado viendo el hilo en la lista numpy.


> y pinchar en "Why Modern CPUs Are Starving and What Can Be Done About It".
>
> Bueno, perdón por el OT, pero no podía resistir la ocasión ;-)  Aunque sé
> que
> no hay mucha gente interesada en las muy altas prestaciones en cálculo,
> espero
> que le sirva de ayuda a alguien!
>
> --
> Francesc Alted
> ___
>

A mi me parece interesante, así que me reitero, gracias.
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


[Python-es] [OT] Artículo sobre CPUs hambrie ntas

2010-03-25 Por tema Francesc Alted
Hace poco me comunicaron que un artículo mío para la revista "Computer in 
Science and Engineering" ha sido seleccionado para la edición online de 
"Computing Now".  El artículo habla de la necesidad de entender el modelo 
jerárquico de memoria para lograr prestaciones decentes en nuestros programas.  
Evindentemente se nota mi experiencia en Python así que lo nombro brevemente 
(aunque el artículo intenta ser lo más agnóstico posible con los lenguajes).

Los que esteis interesados, podeis acceder al artículo en:

http://www.computer.org/portal/web/computingnow

y pinchar en "Why Modern CPUs Are Starving and What Can Be Done About It".

Bueno, perdón por el OT, pero no podía resistir la ocasión ;-)  Aunque sé que 
no hay mucha gente interesada en las muy altas prestaciones en cálculo, espero 
que le sirva de ayuda a alguien!

-- 
Francesc Alted
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/