{"id":131068,"date":"2012-05-22T12:25:33","date_gmt":"2012-05-22T11:25:33","guid":{"rendered":"http:\/\/www.madrimasd.org\/blogs\/supercomputacion_de_consumo\/?p=131068"},"modified":"2012-05-22T14:05:15","modified_gmt":"2012-05-22T13:05:15","slug":"kepler-una-evolucion-de-los-procesadores-graficos-de-nvidia","status":"publish","type":"post","link":"https:\/\/www.madrimasd.org\/blogs\/supercomputacion_de_consumo\/2012\/05\/22\/131068","title":{"rendered":"Kepler: una evoluci\u00f3n de los procesadores gr\u00e1ficos de NVIDIA"},"content":{"rendered":"<p>La semana pasada estuvimos en la conferencia de presentaci\u00f3n de novedades de la marca de procesadores gr\u00e1ficos NVIDIA. La <a href=\"http:\/\/www.gputechconf.com\/\"><em>GPU Technology Conference<\/em><\/a> (GTC) de 2012 ha presentado ante casi 3000 asistentes las novedades tecnol\u00f3gicas de esta reputada marca de <em>chips<\/em> gr\u00e1ficos que se est\u00e1 ganando un puesto en el \u00e1rea de la supercomputaci\u00f3n (de consumo, o no).<\/p>\n<p>De forma resumida, los or\u00edgenes de las GPUs (<em>Graphics Processing Units<\/em>, unidades de procesamiento gr\u00e1fico, en contraposici\u00f3n de las CPUs\/unidades de procesamiento central) se pueden centrar a primeros de los 90 para reducir el coste computacional del renderizado gr\u00e1fico, especialmente en aplicaciones 3D en las que la escena 2D proyectada en pantalla viene determinada por muchos c\u00e1lculos de proyecci\u00f3n. Los videojuegos han sido el motor b\u00e1sico de las evoluciones que han tenido lugar en estos componentes, y donde su especial caracter\u00edstica arquitect\u00f3nica ha sido el paralelismo intr\u00ednseco que ofrecen debido a la propia naturaleza de los problemas que abordan (renderizado). Este paralelismo \u201cinnato\u201d coloc\u00f3 a la arquitectura gr\u00e1fica en un lugar privilegiado a finales de los 90 y primeros de la pasada d\u00e9cada para que investigadores de todo el mundo generaran un movimiento que inicialmente se denomin\u00f3 GPGPU o computaci\u00f3n de prop\u00f3sito general utilizando GPUs (<em>General Purpose computation using GPUs<\/em>). Y es que el poder de c\u00f3mputo que pod\u00edan ofrecer estos <em>chips<\/em> gr\u00e1ficos a problemas computacionales de todo tipo resultaba muy atractivo para los investigadores (muy comentado en este blog por cierto, ver entradas que tocan este tema m\u00e1s abajo). Desde el a\u00f1o 2002 hasta el a\u00f1o 2005 surgieron muchas aproximaciones para tratar estos problemas desde un punto de vista gr\u00e1fico y en 2006 NVIDIA lanz\u00f3 un interfaz HW\/SW denominado <a href=\"http:\/\/www.nvidia.com\/cuda\">CUDA<\/a> (de <em>Compute Unified Device Arquitecture<\/em>, y por cierto, t\u00e9rmino que ahora reniega la propia NVIDIA) y el campo GPGPU pas\u00f3 a denominarse <em>GPU Computing<\/em> (computaci\u00f3n en GPU). CUDA permit\u00eda aprovechar los recursos paralelos de las GPUs de NVIDIA de una manera m\u00e1s accesible a programadores e investigadores no experimentados con el \u00e1rea de gr\u00e1ficos por computador.<\/p>\n<p>En el GTC de la pasada semana NVIDIA ha presentado la versi\u00f3n 5.0 de CUDA (que ya estaba en versi\u00f3n beta para desarrolladores) as\u00ed como la <a href=\"http:\/\/www.nvidia.com\/object\/nvidia-kepler.html\">arquitectura Kepler<\/a>, una evoluci\u00f3n notable de sus <em>chips<\/em> gr\u00e1ficos, quiz\u00e1 no sobresaliente (la evoluci\u00f3n) como lo fuera la evoluci\u00f3n de la familia Fermi (presentada en la edici\u00f3n anterior del GTC), pero a\u00fan muy grata.<\/p>\n<p><a href=\"https:\/\/www.madrimasd.org\/blogs\/supercomputacion_de_consumo\/files\/2012\/05\/kepler-die-bground.png\"><img decoding=\"async\" class=\"size-full wp-image-131069 alignleft\" title=\"kepler-die-bground\" src=\"https:\/\/www.madrimasd.org\/blogs\/supercomputacion_de_consumo\/files\/2012\/05\/kepler-die-bground.png\" alt=\"\" width=\"227\" height=\"256\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>B\u00e1sicamente se presentaron <a href=\"http:\/\/www.nvidia.com\/object\/nvidia-kepler.html\">3 grandes mejoras<\/a> respecto a la anterior familia, justificadas por todo tipo de factores de mejora y el mediatismo propio de una gran presentaci\u00f3n como el incremento a m\u00e1s de 7000 millones de transistores integrados en un procesador. La primera novedad fue la evoluci\u00f3n de los multiprocesadores de <em>streams<\/em> (<em>streaming multiprocessors<\/em>, SM) en una versi\u00f3n extendida (SMX) con capacidad de 192 procesadores escalares (CUDA cores) en lugar de los 32 anteriores, una mejora m\u00e1s que significativa. La segunda novedad es la capacidad de crear lanzamientos de subprogramas en el dispositivo gr\u00e1fico (denominados <em>kernels<\/em>) desde otros subprogramas que se ejecutan en la GPU con par\u00e1metros variables en tiempo de ejecuci\u00f3n. Esta capacidad puede simplificar ciertas tareas de sincronizaci\u00f3n e, incluso, se puede crear c\u00e1lculos recursivos en GPU (algo que estaba prohibido anteriormente). A esta capacidad de lanzar subprogramas con par\u00e1metros variables la han denominado <em>Dynamic Parallelism<\/em> o paralelismo din\u00e1mico, caracter\u00edstica muy interesante para refinar el c\u00f3mputo en determinadas estructuras de datos, como el sugerente \u00e1rbol de c\u00f3mputo de la simulaci\u00f3n del colapso de dos galaxias que se demostr\u00f3 en el GTC. La tercera gran capacidad de la familia Kepler es lo que denominan Hyper-Q, que no es m\u00e1s que la creaci\u00f3n de varias colas de trabajo independientes para diferentes hilos de un procesador CPU con varios n\u00facleos de procesamiento, quiz\u00e1 algo menos innovador por la natural evoluci\u00f3n a m\u00faltiples n\u00facleos de procesamiento de las plataformas CPU.<\/p>\n<p>La parte negativa, es que estas tres capacidades anteriores estar\u00e1n soportadas en la versi\u00f3n GK110 del procesador, no disponible hasta finales de a\u00f1o, y cuya versi\u00f3n ahora disponible (la GK104) solo incluyen los SMX.<\/p>\n<p>En cualquier caso, felicidades NVIDIA, por la organizaci\u00f3n del fant\u00e1stico evento GTC como por el nacimiento de Kepler.<\/p>\n<p>Aqu\u00ed ten\u00e9is un video-resumen del GTC:<\/p>\n<p>[youtube]http:\/\/www.youtube.com\/watch?v=ImSanL_LvOY[\/youtube]<\/p>\n<p>Enlaces sobre la noticia:<\/p>\n<p>GTC: <a href=\"http:\/\/www.gputechconf.com\/\">http:\/\/www.gputechconf.com\/<\/a><\/p>\n<p>Informaci\u00f3n sobre Kepler: <a href=\"http:\/\/www.nvidia.com\/object\/nvidia-kepler.html\">http:\/\/www.nvidia.com\/object\/nvidia-kepler.html<\/a><\/p>\n<p>White Paper: <a href=\"http:\/\/www.nvidia.com\/content\/PDF\/kepler\/NVIDIA-Kepler-GK110-Architecture-Whitepaper.pdf\">http:\/\/www.nvidia.com\/content\/PDF\/kepler\/NVIDIA-Kepler-GK110-Architecture-Whitepaper.pdf<\/a><\/p>\n<p>Noticias anteriores de procesamiento en GPU:<\/p>\n<p><a href=\"https:\/\/www.madrimasd.org\/blogs\/supercomputacion_de_consumo\/2009\/12\/06\/129786\">https:\/\/www.madrimasd.org\/blogs\/supercomputacion_de_consumo\/2009\/12\/06\/129786<\/a><\/p>\n<p><a href=\"https:\/\/www.madrimasd.org\/blogs\/supercomputacion_de_consumo\/2009\/01\/29\/111970\">https:\/\/www.madrimasd.org\/blogs\/supercomputacion_de_consumo\/2009\/01\/29\/111970<\/a><\/p>\n<p><a href=\"https:\/\/www.madrimasd.org\/blogs\/supercomputacion_de_consumo\/2008\/12\/10\/109037\">https:\/\/www.madrimasd.org\/blogs\/supercomputacion_de_consumo\/2008\/12\/10\/109037<\/a><\/p>\n<p><a href=\"https:\/\/www.madrimasd.org\/blogs\/supercomputacion_de_consumo\/2008\/10\/16\/103763\">https:\/\/www.madrimasd.org\/blogs\/supercomputacion_de_consumo\/2008\/10\/16\/103763<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>La semana pasada estuvimos en la conferencia de presentaci\u00f3n de novedades de la marca de procesadores gr\u00e1ficos NVIDIA. La GPU Technology Conference (GTC) de 2012 ha presentado ante casi 3000 asistentes las novedades tecnol\u00f3gicas de esta reputada marca de chips gr\u00e1ficos que se est\u00e1 ganando un puesto en el \u00e1rea de la supercomputaci\u00f3n (de consumo, o no). De forma resumida, los or\u00edgenes de las GPUs (Graphics Processing Units, unidades de procesamiento gr\u00e1fico, en contraposici\u00f3n de las CPUs\/unidades de procesamiento central) se pueden centrar a primeros de los 90 para reducir el coste computacional del renderizado gr\u00e1fico, especialmente en aplicaciones 3D\u2026<\/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":[310,311],"tags":[3637,3639,3640,3636,3638,7810],"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\/131068"}],"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=131068"}],"version-history":[{"count":11,"href":"https:\/\/www.madrimasd.org\/blogs\/supercomputacion_de_consumo\/wp-json\/wp\/v2\/posts\/131068\/revisions"}],"predecessor-version":[{"id":131101,"href":"https:\/\/www.madrimasd.org\/blogs\/supercomputacion_de_consumo\/wp-json\/wp\/v2\/posts\/131068\/revisions\/131101"}],"wp:attachment":[{"href":"https:\/\/www.madrimasd.org\/blogs\/supercomputacion_de_consumo\/wp-json\/wp\/v2\/media?parent=131068"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.madrimasd.org\/blogs\/supercomputacion_de_consumo\/wp-json\/wp\/v2\/categories?post=131068"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.madrimasd.org\/blogs\/supercomputacion_de_consumo\/wp-json\/wp\/v2\/tags?post=131068"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}