<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comentarios en: GPGPU, una idea alucinante [actualizado]</title>
	<atom:link href="http://www.javipas.com/2008/10/09/gpgpu-una-idea-alucinante/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.javipas.com/2008/10/09/gpgpu-una-idea-alucinante/</link>
	<description>Reflexiones sobre Internet, Linux, Windows, gadgets, consolas y la actualidad tecnológica</description>
	<lastBuildDate>Sat, 13 Mar 2010 06:27:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Por: nacho</title>
		<link>http://www.javipas.com/2008/10/09/gpgpu-una-idea-alucinante/comment-page-1/#comment-64694</link>
		<dc:creator>nacho</dc:creator>
		<pubDate>Fri, 07 Aug 2009 19:25:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.javipas.com/?p=1585#comment-64694</guid>
		<description>Hago un inciso tardío del comentario de JaviPas del 10 de Octubre de 2008 (perdón por el retraso) {

El proceso de &quot;traducción&quot; de un lenguaje de alto nivel (pongamos C/C++) se lleva a cabo por un conjunto de procesadores de lenguaje y herramientas que a grosso modo se pueden dividir en:

1. El preprocesador: se encarga de parsear el código fuente y resuelve las macros, defines, includes (librerías estáticas), inlines, que puede haber.

2. El compilador: se encarga de traducir a código ensamblador nativo de la arquitectura el código de alto nivel. En este proceso, se realizan optimizaciones, reordenaciones de código, desenrrollado de bucles, sin alterar el significado semántico obviamente. La salida es el código objeto (instrucciones binarias).

3. El linkador: se encarga de recoger todos los ficheros objeto (código objeto), introducir los stubs para acceso en tiempo de ejecución a librerías dinámicas y crear el ejecutable.
}

Moraleja: el compilidador SI que optimiza código para la GPU.

Ala, a pasarlo bien.</description>
		<content:encoded><![CDATA[<p>Hago un inciso tardío del comentario de JaviPas del 10 de Octubre de 2008 (perdón por el retraso) {</p>
<p>El proceso de &#8220;traducción&#8221; de un lenguaje de alto nivel (pongamos C/C++) se lleva a cabo por un conjunto de procesadores de lenguaje y herramientas que a grosso modo se pueden dividir en:</p>
<p>1. El preprocesador: se encarga de parsear el código fuente y resuelve las macros, defines, includes (librerías estáticas), inlines, que puede haber.</p>
<p>2. El compilador: se encarga de traducir a código ensamblador nativo de la arquitectura el código de alto nivel. En este proceso, se realizan optimizaciones, reordenaciones de código, desenrrollado de bucles, sin alterar el significado semántico obviamente. La salida es el código objeto (instrucciones binarias).</p>
<p>3. El linkador: se encarga de recoger todos los ficheros objeto (código objeto), introducir los stubs para acceso en tiempo de ejecución a librerías dinámicas y crear el ejecutable.<br />
}</p>
<p>Moraleja: el compilidador SI que optimiza código para la GPU.</p>
<p>Ala, a pasarlo bien.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: javipas</title>
		<link>http://www.javipas.com/2008/10/09/gpgpu-una-idea-alucinante/comment-page-1/#comment-62602</link>
		<dc:creator>javipas</dc:creator>
		<pubDate>Tue, 14 Oct 2008 14:42:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.javipas.com/?p=1585#comment-62602</guid>
		<description>Nah, nah, te has currado las pruebas, así que ole con ole ;)</description>
		<content:encoded><![CDATA[<p>Nah, nah, te has currado las pruebas, así que ole con ole <img src='http://www.javipas.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Manuel</title>
		<link>http://www.javipas.com/2008/10/09/gpgpu-una-idea-alucinante/comment-page-1/#comment-62601</link>
		<dc:creator>Manuel</dc:creator>
		<pubDate>Tue, 14 Oct 2008 09:46:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.javipas.com/?p=1585#comment-62601</guid>
		<description>Gracias por el enlace Javi, en realidad el mérito es tuyo por la idea... :)</description>
		<content:encoded><![CDATA[<p>Gracias por el enlace Javi, en realidad el mérito es tuyo por la idea&#8230; <img src='http://www.javipas.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: javipas</title>
		<link>http://www.javipas.com/2008/10/09/gpgpu-una-idea-alucinante/comment-page-1/#comment-62600</link>
		<dc:creator>javipas</dc:creator>
		<pubDate>Tue, 14 Oct 2008 08:42:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.javipas.com/?p=1585#comment-62600</guid>
		<description>Manuel, genial tu comparativa, enhorabuena, la enlazo en el post para actualizarlo. La verdad es que la CPU tarda bastante menos de lo que pensaba, pero aún así, ahorras la mitad de tiempo. ¡Buen trabajo!</description>
		<content:encoded><![CDATA[<p>Manuel, genial tu comparativa, enhorabuena, la enlazo en el post para actualizarlo. La verdad es que la CPU tarda bastante menos de lo que pensaba, pero aún así, ahorras la mitad de tiempo. ¡Buen trabajo!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Manuel</title>
		<link>http://www.javipas.com/2008/10/09/gpgpu-una-idea-alucinante/comment-page-1/#comment-62597</link>
		<dc:creator>Manuel</dc:creator>
		<pubDate>Mon, 13 Oct 2008 18:52:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.javipas.com/?p=1585#comment-62597</guid>
		<description>Lo prometido es deuda, y los resultados parecen confirmar lo que comentabas... :D

http://javarealmachine.blogspot.com/2008/10/cuda-gpu-vs-cpu.html</description>
		<content:encoded><![CDATA[<p>Lo prometido es deuda, y los resultados parecen confirmar lo que comentabas&#8230; <img src='http://www.javipas.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><a href="http://javarealmachine.blogspot.com/2008/10/cuda-gpu-vs-cpu.html" rel="nofollow">http://javarealmachine.blogspot.com/2008/10/cuda-gpu-vs-cpu.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Manuel</title>
		<link>http://www.javipas.com/2008/10/09/gpgpu-una-idea-alucinante/comment-page-1/#comment-62591</link>
		<dc:creator>Manuel</dc:creator>
		<pubDate>Sun, 12 Oct 2008 21:34:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.javipas.com/?p=1585#comment-62591</guid>
		<description>Pues haré la prueba, cuenta con ello...  en cuanto me quite un marrón del curro.

Sobre lo que comenta LC, efectivamente las arquitecturas son distintas...  y las GPUs ganan en manejo de coma flotante por todas las unidades shader que montan. Por eso lo ideal sería un PC con CPU y otro con GPU y una buena tanda de test que pasarles... :D

Sobre lo del Amiga... no estoy de acuerdo, más que por la especialización, yo creo que al Amiga se lo cargaron por el enfoque que le dieron. Del Amiga recuerdo que te lo vendían para &#039;jugar&#039; (aunque pudiese hacer más), y del PC que te lo vendían para trabajar (más serio).

Además, en el mundo PC empezó a haber un gran desarrollo... del 8088 pasamos al 8086, de ahí al 286 y un año o dos ya estábamos en el 386... y al poco los 486, que en comparación con los primeros PCs eran mucho más potentes.

Si el Amiga se hubiese enfocado para más que juegos, buscando un uso profesional, y hubiese mejorado tanto su HW en tan poco tiempo, otro gallo le hubiese cantado...</description>
		<content:encoded><![CDATA[<p>Pues haré la prueba, cuenta con ello&#8230;  en cuanto me quite un marrón del curro.</p>
<p>Sobre lo que comenta LC, efectivamente las arquitecturas son distintas&#8230;  y las GPUs ganan en manejo de coma flotante por todas las unidades shader que montan. Por eso lo ideal sería un PC con CPU y otro con GPU y una buena tanda de test que pasarles&#8230; <img src='http://www.javipas.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Sobre lo del Amiga&#8230; no estoy de acuerdo, más que por la especialización, yo creo que al Amiga se lo cargaron por el enfoque que le dieron. Del Amiga recuerdo que te lo vendían para &#8216;jugar&#8217; (aunque pudiese hacer más), y del PC que te lo vendían para trabajar (más serio).</p>
<p>Además, en el mundo PC empezó a haber un gran desarrollo&#8230; del 8088 pasamos al 8086, de ahí al 286 y un año o dos ya estábamos en el 386&#8230; y al poco los 486, que en comparación con los primeros PCs eran mucho más potentes.</p>
<p>Si el Amiga se hubiese enfocado para más que juegos, buscando un uso profesional, y hubiese mejorado tanto su HW en tan poco tiempo, otro gallo le hubiese cantado&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Chemahm</title>
		<link>http://www.javipas.com/2008/10/09/gpgpu-una-idea-alucinante/comment-page-1/#comment-62577</link>
		<dc:creator>Chemahm</dc:creator>
		<pubDate>Fri, 10 Oct 2008 18:47:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.javipas.com/?p=1585#comment-62577</guid>
		<description>Hola, creeis que seria factible sacar password WPA con el progrema &quot;elcomsoft password recovery &quot;, y varias GTX280 en SLI? Segun la pagina de elcomsoft con este software y usando las Nvidia se pueden sacar.

¿Algun documento o prueba de que esto es posible?, toy buscando pero no encuentro nada.

Un saludo</description>
		<content:encoded><![CDATA[<p>Hola, creeis que seria factible sacar password WPA con el progrema &#8220;elcomsoft password recovery &#8220;, y varias GTX280 en SLI? Segun la pagina de elcomsoft con este software y usando las Nvidia se pueden sacar.</p>
<p>¿Algun documento o prueba de que esto es posible?, toy buscando pero no encuentro nada.</p>
<p>Un saludo</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: JaviPas</title>
		<link>http://www.javipas.com/2008/10/09/gpgpu-una-idea-alucinante/comment-page-1/#comment-62572</link>
		<dc:creator>JaviPas</dc:creator>
		<pubDate>Fri, 10 Oct 2008 15:43:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.javipas.com/?p=1585#comment-62572</guid>
		<description>Roger, qué razón tienes, se me había olvidado ese dato. Lo he buscado y he recuperado el enlace: 

http://www.kriptopolis.org/gpu-rompe-passwords

Una vez más, queda patente el poder de las GPUs en cálculo en bruto.

Manuel: el formato de salida es h.264, efectiviwonder, así que dale y ya nos contarás :D

LC: en primer lugar, la tarea de un compilador no es la de adaptar el código, sino simplemente, generar el código objeto, el ejecutable, así que si tú no le das el código ya mascado, chungo pelota. Por eso digo que los desarrolladores adaptan ese código, pero no sé si a eso yo le llamaría optimizar. No llega a tanto. Otpimizado sería totalmente programado por y para la GPU, es más, programado para ESA CPU en concreto con ciertas ventajas técnicas y quizá ciertas funciones sólo disponibles en ella. A eso le llamo yo optimizar.  En cuanto a lo del Amiga, si fuera un 1200 hablábamos ;) pero gracias por la oferta. Qué gran máquina, y qué lástima cómo terminó, aunque no fue por su concepción especializada, sino por lo lamentablemente que gestionaron la plataforma la gente de Commodore y todos los que llegaron después.</description>
		<content:encoded><![CDATA[<p>Roger, qué razón tienes, se me había olvidado ese dato. Lo he buscado y he recuperado el enlace: </p>
<p><a href="http://www.kriptopolis.org/gpu-rompe-passwords" rel="nofollow">http://www.kriptopolis.org/gpu-rompe-passwords</a></p>
<p>Una vez más, queda patente el poder de las GPUs en cálculo en bruto.</p>
<p>Manuel: el formato de salida es h.264, efectiviwonder, así que dale y ya nos contarás <img src='http://www.javipas.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>LC: en primer lugar, la tarea de un compilador no es la de adaptar el código, sino simplemente, generar el código objeto, el ejecutable, así que si tú no le das el código ya mascado, chungo pelota. Por eso digo que los desarrolladores adaptan ese código, pero no sé si a eso yo le llamaría optimizar. No llega a tanto. Otpimizado sería totalmente programado por y para la GPU, es más, programado para ESA CPU en concreto con ciertas ventajas técnicas y quizá ciertas funciones sólo disponibles en ella. A eso le llamo yo optimizar.  En cuanto a lo del Amiga, si fuera un 1200 hablábamos <img src='http://www.javipas.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  pero gracias por la oferta. Qué gran máquina, y qué lástima cómo terminó, aunque no fue por su concepción especializada, sino por lo lamentablemente que gestionaron la plataforma la gente de Commodore y todos los que llegaron después.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: roger</title>
		<link>http://www.javipas.com/2008/10/09/gpgpu-una-idea-alucinante/comment-page-1/#comment-62571</link>
		<dc:creator>roger</dc:creator>
		<pubDate>Fri, 10 Oct 2008 14:07:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.javipas.com/?p=1585#comment-62571</guid>
		<description>Por ahí anda un programa que usa tarjetas Nvidia para acelerar la búsqueda de contraseñas. No tengo el enlace a mano, pero salió en kriptopolis. Lo que no me quedó claro es si usan cuda, pero los tipos logran incluso usar varias tarjetas en paralelo y dejan muy atrás a un Core Duo.</description>
		<content:encoded><![CDATA[<p>Por ahí anda un programa que usa tarjetas Nvidia para acelerar la búsqueda de contraseñas. No tengo el enlace a mano, pero salió en kriptopolis. Lo que no me quedó claro es si usan cuda, pero los tipos logran incluso usar varias tarjetas en paralelo y dejan muy atrás a un Core Duo.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: LC</title>
		<link>http://www.javipas.com/2008/10/09/gpgpu-una-idea-alucinante/comment-page-1/#comment-62569</link>
		<dc:creator>LC</dc:creator>
		<pubDate>Fri, 10 Oct 2008 12:45:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.javipas.com/?p=1585#comment-62569</guid>
		<description>Voy a dar una de cal y otra de arena, intentando ser lo mas educado posible.

Javipas, eres sabio, porque rectificar es de sabio y lo has hecho con Edge, felicidades.

Pero creo que deberias de investigar un poco mas el tema de las gráficas. Yo si conocia, algo, lo de Tesla y te digo mas o menos como Edge, las gráficas tienen mucha potencia en calculo numérico con cierto tipo de números, no sabria decirte ahora si con enteros o con coma flotante, obviamente, si en un proceso se utilizan ese tipo de números pues la gráficas ganan. Supongo que te acordaras cuando a los procesadores centrales no hacian los calculos rapiditos y se les ponia un coprocesador matemático, en definitiva un hard especializado en cálculos, y obviamente, si se escribia un programa para usar el &quot;copro&quot;, pues volaba, comparado con la cpu principal, tambien puedes hacer programas aprovechando ciertos juegos de instrucciones de las cpu principales, aquello de las mmx, los sse o como se llamen, pero no se hace mucho, porque hay que empezar a preguntar al hard que tipo de instrucciones soporta, crear distinto código en función del juego de instrucciones especiales que usen, en fin, un follón. 

Por otra parte ten en cuenta que tu procesador central, cuando le dices que te pase la &quot;peli&quot; a mp4, esta haciendo bastante mas cosas aparte de esto, en el caso de la gráfica supongo que no hace solo lo de la peli pero casi. 
Cuando dicen que el código esta optimizado es cierto, tambien es verdad como tu lo dices, adaptado, si lo prefieres, pero es que esta adaptación es pensando en las especificadiones del hardware que tiene debajo, o sea, la gráfica y su especialización en cierto tipo de cálculos y su arquitectura. Probablemente esta adaptación sea a medias entre el programador y el compilador, a ti te parece C, vamos es C, pero el compilador (no creo que sea un interprete),  hara virguerias para adaptarlo a código de la gráfica, o sea, que lo optimiza.

En hard siempre se da la lucha entre especializacion y generalizacion, una máquina que se apoyó en la especializacion fue el Amiga y ahi lo tienes, muerto de asco, (te vendo mi Amiga 500), eso si, increible lo que hacia, llegaron los pc con su &quot;cutre-hard&quot; generalista y se lo comieron. En las consolas, la ps3 es un poco mas especializada y por tanto mas dificil de programar y la xbox 360 se la esta merendando con un hard mas general (PPC(+ o -) y grafica). Lo mismo paso, si no me equivoco, con la sega dreamcast y las consola de su generación, por eso te digo que siempre ocurre. Al final lo que ha pasado es que estas especialidades se integran en la cpu, y por lo tanto, pasa a generalizarse y se acabo el problema. En la actualidad no se que ocurrira por que el hard de las gráficas es tan potente que no se si volverá a pasar.

Un saludo.</description>
		<content:encoded><![CDATA[<p>Voy a dar una de cal y otra de arena, intentando ser lo mas educado posible.</p>
<p>Javipas, eres sabio, porque rectificar es de sabio y lo has hecho con Edge, felicidades.</p>
<p>Pero creo que deberias de investigar un poco mas el tema de las gráficas. Yo si conocia, algo, lo de Tesla y te digo mas o menos como Edge, las gráficas tienen mucha potencia en calculo numérico con cierto tipo de números, no sabria decirte ahora si con enteros o con coma flotante, obviamente, si en un proceso se utilizan ese tipo de números pues la gráficas ganan. Supongo que te acordaras cuando a los procesadores centrales no hacian los calculos rapiditos y se les ponia un coprocesador matemático, en definitiva un hard especializado en cálculos, y obviamente, si se escribia un programa para usar el &#8220;copro&#8221;, pues volaba, comparado con la cpu principal, tambien puedes hacer programas aprovechando ciertos juegos de instrucciones de las cpu principales, aquello de las mmx, los sse o como se llamen, pero no se hace mucho, porque hay que empezar a preguntar al hard que tipo de instrucciones soporta, crear distinto código en función del juego de instrucciones especiales que usen, en fin, un follón. </p>
<p>Por otra parte ten en cuenta que tu procesador central, cuando le dices que te pase la &#8220;peli&#8221; a mp4, esta haciendo bastante mas cosas aparte de esto, en el caso de la gráfica supongo que no hace solo lo de la peli pero casi.<br />
Cuando dicen que el código esta optimizado es cierto, tambien es verdad como tu lo dices, adaptado, si lo prefieres, pero es que esta adaptación es pensando en las especificadiones del hardware que tiene debajo, o sea, la gráfica y su especialización en cierto tipo de cálculos y su arquitectura. Probablemente esta adaptación sea a medias entre el programador y el compilador, a ti te parece C, vamos es C, pero el compilador (no creo que sea un interprete),  hara virguerias para adaptarlo a código de la gráfica, o sea, que lo optimiza.</p>
<p>En hard siempre se da la lucha entre especializacion y generalizacion, una máquina que se apoyó en la especializacion fue el Amiga y ahi lo tienes, muerto de asco, (te vendo mi Amiga 500), eso si, increible lo que hacia, llegaron los pc con su &#8220;cutre-hard&#8221; generalista y se lo comieron. En las consolas, la ps3 es un poco mas especializada y por tanto mas dificil de programar y la xbox 360 se la esta merendando con un hard mas general (PPC(+ o -) y grafica). Lo mismo paso, si no me equivoco, con la sega dreamcast y las consola de su generación, por eso te digo que siempre ocurre. Al final lo que ha pasado es que estas especialidades se integran en la cpu, y por lo tanto, pasa a generalizarse y se acabo el problema. En la actualidad no se que ocurrira por que el hard de las gráficas es tan potente que no se si volverá a pasar.</p>
<p>Un saludo.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
