{"id":103763,"date":"2008-10-16T12:02:00","date_gmt":"2008-10-16T11:02:00","guid":{"rendered":"http:\/\/weblogs.madrimasd.org\/\/supercomputacion_de_consumo\/archive\/2008\/10\/16\/103763.aspx"},"modified":"2012-05-22T12:42:08","modified_gmt":"2012-05-22T11:42:08","slug":"procesadores-graficos-como-supercomputadores-de-consumo-intro","status":"publish","type":"post","link":"https:\/\/www.madrimasd.org\/blogs\/supercomputacion_de_consumo\/2008\/10\/16\/103763","title":{"rendered":"Procesadores gr\u00e1ficos como supercomputadores de consumo: Intro"},"content":{"rendered":"<p><P class=MsoNormal style=\"MARGIN: 0cm 0cm 0pt\">Como procesadores gr\u00e1ficos de consumo nos referimos a los chips que incorporan las habituales tarjetas gr\u00e1ficas incluidas en nuestros ordenadores de sobremesa. La misi\u00f3n fundamental de estos sistemas es la de conseguir una imagen final en pantalla, y para la mayor parte de las aplicaciones diarias (gestor de correo electr\u00f3nico, navegaci\u00f3n por Internet, editor de textos, hoja de c\u00e1lculo, etc.) el procesador gr\u00e1fico apenas realiza un c\u00f3mputo exigente. Por esta raz\u00f3n, muchos fabricantes y montadores de equipos finales incluyen tarjetas gr\u00e1ficas integradas, de bajo consumo, de peque\u00f1as dimensiones, de bajo coste y de gran funcionalidad.<\/P> <P class=MsoNormal style=\"MARGIN: 0cm 0cm 0pt\">&nbsp;<\/P> <P class=MsoNormal style=\"MARGIN: 0cm 0cm 0pt\" align=center><IMG src=\"\/blogs\/supercomputacion_de_consumo\/wp-content\/blogs.dir\/136\/files\/1330\/o_6800GT.jpg\"><\/P><!--more--><P class=MsoNormal style=\"MARGIN: 0cm 0cm 0pt\">Sin embargo, cada vez es mayor la incertidumbre del usuario respecto a las posibilidades de su equipo en el futuro a corto plazo, si necesitar\u00e1 mayor poder de c\u00f3mputo, si necesitar\u00e1 m\u00e1s velocidad, si necesitar\u00e1 mejores prestaciones porque las aplicaciones que tenga que utilizar as\u00ed se lo requieran. Este hecho tambi\u00e9n se pone de manifiesto a la hora de elegir una tarjeta gr\u00e1fica, quiz\u00e1 en el futuro (o en el presente) el propio sistema operativo realice tareas gr\u00e1ficas inusuales, muy exigentes, o el navegador web, o quiz\u00e1 queramos reproducir v\u00eddeo de alta definici\u00f3n en una pantalla plana de 42\u201d, quiz\u00e1 queramos experimentar la sensaci\u00f3n del \u00faltimo videojuego que tanto revuelo ha hecho en <A href=\"http:\/\/www.msnbc.msn.com\/id\/6441598\/\">Times Square de Nueva York<\/A> el d\u00eda de su lanzamiento al mercado, etc. Bajo estas circunstancias, quiz\u00e1 queramos adquirir una tarjeta gr\u00e1fica de gama media (50-250\u20ac), pero que asegure cierto margen de extensibilidad de uso futuro.<\/P> <P class=MsoNormal style=\"MARGIN: 0cm 0cm 0pt\"><?xml:namespace prefix = o ns = \"urn:schemas-microsoft-com:office:office\" \/><o:p>&nbsp;<\/o:p><\/P> <P class=MsoNormal style=\"MARGIN: 0cm 0cm 0pt\">A los procesadores gr\u00e1ficos de este tipo de tarjetas les hemos hecho un hueco en el webblog de Supercomputaci\u00f3n de Consumo porque, como veremos en una serie de posts, en especiales circunstancias pueden ayudar a procesar m\u00e1s r\u00e1pido, o energ\u00e9ticamente de forma m\u00e1s eficiente, soluciones a problemas de prop\u00f3sito general y que nada, o poco, tengan que ver con la visualizaci\u00f3n de v\u00eddeo, de trepidantes escenas de videojuegos, o con la renderizaci\u00f3n de espectaculares efectos visuales de las ventanas de nuestro sistema operativo. Pero \u00bfqu\u00e9 pasa con aquellas tarjetas gr\u00e1ficas que caen en el segmento de alta gama? Estas tarjetas est\u00e1n especialmente dise\u00f1adas para sacar m\u00e1ximo partido a las m\u00e1s avanzadas tecnolog\u00edas software de visualizaci\u00f3n, y especialmente de los videojuegos. Resoluciones de alta definici\u00f3n en monitores de grandes dimensiones y refresco inmediato del videojuego a m\u00e1xima calidad. Estas tarjetas, que pueden costar alrededor de 600\u20ac incluyen muchos m\u00e1s transistores y unidades de c\u00f3mputo que el mejor de los procesadores centrales (CPU) de consumo. La cuesti\u00f3n es, \u00bftanto poder de c\u00f3mputo solo para ser utilizado de manera exigente en videojuegos?, \u00bfse est\u00e1 desperdiciando mientras leo las noticias en Internet, reviso el correo o hago un escrito con mi editor de texto?<\/P> <P class=MsoNormal style=\"MARGIN: 0cm 0cm 0pt\"><o:p>&nbsp;<\/o:p><\/P> <P class=MsoNormal style=\"MARGIN: 0cm 0cm 0pt\">Los fabricantes de procesadores gr\u00e1ficos se han dado cuenta de que desde finales de los a\u00f1os 90 algunos investigadores han incidido en utilizar este hardware con prop\u00f3sitos cient\u00edficos. Estos investigadores han tratado de acelerar tareas de c\u00f3mputo de maneras no triviales buscando paralelismos entre posibles soluciones a sus problemas y las soluciones ofrecidas por el hardware gr\u00e1fico a la hora de renderizar im\u00e1genes. Entendiendo la forma de procesar de este hardware cuando ejecuta las tareas para las que fue dise\u00f1ado, se puede conseguir una soluci\u00f3n eficiente para tareas impropias de este dispositivo. <\/P> <P class=MsoNormal style=\"MARGIN: 0cm 0cm 0pt\"><o:p>&nbsp;<\/o:p><\/P> <P class=MsoNormal style=\"MARGIN: 0cm 0cm 0pt\">Los procesadores gr\u00e1ficos basan su poder de c\u00f3mputo en la posibilidad de realizar multitud de operaciones individuales, y de manera independiente, para una gran cantidad de datos. B\u00e1sicamente es lo que ocurre cuando se renderiza una imagen compuesta por gran cantidad de datos (p\u00edxeles) expresada a partir de una descripci\u00f3n 3D compleja, como la que pueda generar una aplicaci\u00f3n de dise\u00f1o gr\u00e1fico, o la de un modelo de una escena 3D de un videojuego. \u00bfQu\u00e9 etapas de procesamiento atraviesa esa descripci\u00f3n 3D inicial para conseguir reflejar una imagen 2D en pantalla?, \u00bfes posible acceder a esas etapas de procesamiento para aprovechar los recursos en la b\u00fasqueda de soluciones de problemas de prop\u00f3sito general?, la respuesta es afirmativa, aunque no para cualquier aplicaci\u00f3n. <\/P> <P class=MsoNormal style=\"MARGIN: 0cm 0cm 0pt\"><o:p>&nbsp;<\/o:p><\/P> <P class=MsoNormal style=\"MARGIN: 0cm 0cm 0pt\">Pero sigamos descubriendo las posibilidades, fortalezas y debilidades del hardware gr\u00e1fico para ser usado como supercomputadores de consumo. En general, las ventajas de una GPU (<EM>Graphics Processing Unit<\/EM>, o unidad de procesamiento gr\u00e1fico en contraposici\u00f3n de CPU, <EM>Central Processing Unit<\/EM>) se pueden articular en seis puntos claves:<\/P> <OL> <LI> <DIV class=MsoNormal style=\"MARGIN: 0cm 0cm 0pt\">Es hardware de consumo: una tarjeta gr\u00e1fica de \u00faltima generaci\u00f3n es f\u00e1cil encontrarla en unos grandes almacenes, a diferencia de una tarjeta programable tipo FPGA.<\/DIV><\/LI> <LI> <DIV class=MsoNormal style=\"MARGIN: 0cm 0cm 0pt\">Es hardware de altas prestaciones: atendiendo a una variedad de par\u00e1metros, se puede demostrar que estos procesadores pueden realizar m\u00e1s operaciones por segundo que muchos procesadores de prop\u00f3sito general, tienen mayores anchos de banda a memoria (pueden leer m\u00e1s datos en menos tiempo) y cada vez tienen mayor capacidad (m\u00e1s memoria <EM>onboard<\/EM>)<\/DIV><\/LI> <LI> <DIV class=MsoNormal style=\"MARGIN: 0cm 0cm 0pt\">Es hardware de bajo coste: teniendo en cuenta el punto anterior sobre la capacidad de c\u00f3mputo, el ratio unidad de c\u00f3mputo vs. precio es significativamente m\u00e1s bajo, as\u00ed como el ratio unidad de c\u00f3mputo vs. consumo energ\u00e9tico.<\/DIV><\/LI> <LI> <DIV class=MsoNormal style=\"MARGIN: 0cm 0cm 0pt\">Es hardware programable: desde finales de los a\u00f1os 90, algunas etapas de procesamiento se han visto modificadas para permitir su personalizaci\u00f3n a trav\u00e9s de c\u00f3digos externos, que los desarrolladores pueden modificar a su antojo para que la tarjeta ejecute sus instrucciones sobre entradas de datos de inter\u00e9s. El creciente inter\u00e9s en este aspecto ha posibilitado la creaci\u00f3n de determinados lenguajes de programaci\u00f3n de alto nivel para codificar estos programas.<\/DIV><\/LI> <LI> <DIV class=MsoNormal style=\"MARGIN: 0cm 0cm 0pt\">Es un buen procesador de flujos de datos: viene de la idea de stream processor, que por su independencia de c\u00f3mputo puede realizar m\u00faltiples ejecuciones de la misma instrucci\u00f3n sobre m\u00faltiples datos de manera simult\u00e1nea y mantener este ritmo para todos los datos de la colecci\u00f3n sin necesidad de intervenir directamente. El objetivo es ocultar el procesamiento en la tarjeta gr\u00e1fica mientras la CPU queda libre para otro tipo de tareas.<\/DIV><\/LI> <LI> <DIV class=MsoNormal style=\"MARGIN: 0cm 0cm 0pt\">R\u00e1pida evoluci\u00f3n: Gordon E. Moore advert\u00eda en 1965 que el ritmo de crecimiento del n\u00famero de transistores por circuito integrado era exponencial y que esta tendencia continuar\u00eda en el tiempo. De forma general, la llamada Ley de Moore establece que el n\u00famero de transistores en un procesador se duplica cada 18-24 meses. En el caso de los procesadores gr\u00e1ficos, por la facilidad de la integraci\u00f3n de transistores dedicados a c\u00f3mputo, as\u00ed como por el empuje de la industria de los videojuegos, la tendencia es m\u00e1s acusada, llegando a duplicar e incluso triplicar la citada Ley de Moore. El hardware gr\u00e1fico evoluciona muy r\u00e1pido, y una soluci\u00f3n que actualmente no consiga un gran rendimiento puede ser significativamente superior en pocos meses.<\/DIV><\/LI><\/OL> <P class=MsoNormal style=\"MARGIN: 0cm 0cm 0pt\"><o:p>&nbsp;<\/o:p><\/P> <P class=MsoNormal style=\"MARGIN: 0cm 0cm 0pt\" align=center><o:p><IMG src=\"\/blogs\/supercomputacion_de_consumo\/wp-content\/blogs.dir\/136\/files\/1330\/o_justificacionGPU.jpg\"><\/o:p><\/P> <P class=MsoNormal style=\"MARGIN: 0cm 0cm 0pt\" align=center><o:p><\/o:p>&nbsp;<\/P> <P class=MsoNormal style=\"MARGIN: 0cm 0cm 0pt\" align=center><o:p><\/o:p>&nbsp;<\/P> <P class=MsoNormal style=\"MARGIN: 0cm 0cm 0pt\">Pero no todo es perfecto, en su inicio, la programaci\u00f3n de este tipo de hardware para tareas de prop\u00f3sito general era compleja, se requer\u00eda conocimiento de bajo nivel del propio hardware, de los juegos de instrucciones soportados, etc.&nbsp;A medida que este uso se ha hecho m\u00e1s popular han aparecido nuevos interfaces para soportar caracter\u00edsticas propias de una buena abstracci\u00f3n. No obstante, no nos enga\u00f1emos, sacar m\u00e1ximo partido a este hardware contin\u00faa siendo una tarea compleja, aunque sacar un cierto beneficio respecto a la soluci\u00f3n b\u00e1sica en CPU pueda ser algo relativamente sencillo para determinados procesos. <\/P> <P class=MsoNormal style=\"MARGIN: 0cm 0cm 0pt\"><o:p>&nbsp;<\/o:p><\/P> <P class=MsoNormal style=\"MARGIN: 0cm 0cm 0pt\">Abordaremos poco a poco cada uno de estos puntos as\u00ed como algunas de las posibilidades que se est\u00e1n abriendo paso debido a la masiva implantaci\u00f3n de esta tecnolog\u00eda de consumo.<\/P><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Como procesadores gr\u00e1ficos de consumo nos referimos a los chips que incorporan las habituales tarjetas gr\u00e1ficas incluidas en nuestros ordenadores de sobremesa. La misi\u00f3n fundamental de estos sistemas es la de conseguir una imagen final en pantalla, y para la mayor parte de las aplicaciones diarias (gestor de correo electr\u00f3nico, navegaci\u00f3n por Internet, editor de textos, hoja de c\u00e1lculo, etc.) el procesador gr\u00e1fico apenas realiza un c\u00f3mputo exigente. Por esta raz\u00f3n, muchos fabricantes y montadores de equipos finales incluyen tarjetas gr\u00e1ficas integradas, de bajo consumo, de peque\u00f1as dimensiones, de bajo coste y de gran funcionalidad. &nbsp;<\/p>\n","protected":false},"author":112,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0},"categories":[77],"tags":[17493,3639,3640,3636,7810,17492],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":4}},"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.madrimasd.org\/blogs\/supercomputacion_de_consumo\/wp-json\/wp\/v2\/posts\/103763"}],"collection":[{"href":"https:\/\/www.madrimasd.org\/blogs\/supercomputacion_de_consumo\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.madrimasd.org\/blogs\/supercomputacion_de_consumo\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.madrimasd.org\/blogs\/supercomputacion_de_consumo\/wp-json\/wp\/v2\/users\/112"}],"replies":[{"embeddable":true,"href":"https:\/\/www.madrimasd.org\/blogs\/supercomputacion_de_consumo\/wp-json\/wp\/v2\/comments?post=103763"}],"version-history":[{"count":1,"href":"https:\/\/www.madrimasd.org\/blogs\/supercomputacion_de_consumo\/wp-json\/wp\/v2\/posts\/103763\/revisions"}],"predecessor-version":[{"id":131099,"href":"https:\/\/www.madrimasd.org\/blogs\/supercomputacion_de_consumo\/wp-json\/wp\/v2\/posts\/103763\/revisions\/131099"}],"wp:attachment":[{"href":"https:\/\/www.madrimasd.org\/blogs\/supercomputacion_de_consumo\/wp-json\/wp\/v2\/media?parent=103763"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.madrimasd.org\/blogs\/supercomputacion_de_consumo\/wp-json\/wp\/v2\/categories?post=103763"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.madrimasd.org\/blogs\/supercomputacion_de_consumo\/wp-json\/wp\/v2\/tags?post=103763"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}