La era de los GPU's presente en el supercompúto y la Astrofísica
Hasta el momento, nos hemos referido a simulaciones
numéricas que se ejecutan en equipos de alto rendimiento “tradicionales”,
es decir, supercomputadoras con gran capacidad de memoria y almacenamiento,
grandes cantidades de CPUs que son capaces de realizar miles de
millones de operaciones por segundo, etcétera. No obstante, en
la actualidad diferentes grupos multidisciplinarios de astrofísicos
y programadores, están migrando sus códigos a una tecnología de
hardware que se ha aplicado en los últimos años a los videojuego;
los GPUs. Como sabemos los CPUs (Central Processing Unit) estan
encargados de realizar la mayoría de los cálculos matemáticos;
dependiendo del fabricante, cada CPU podrá hacer más o menos operaciones
de punto flotante por segundo (flops).
En la actualidad el concepto
de CPU se ha transformado y un solo procesador puede incluir más
de una unidad de procesamiento o núcleo; hasta el 2009 los procesadores
pueden llegar a tener 8 núcleos como máximo, ya que presentan problemas
de disipación de calor. Durante la última década, no solo se han
desarrollado los CPUs, sino también las Unidades de Procesamiento
Gráficas (GPUs, por sus siglas en inglés) que se utilizan intensivamente
en la industria de los videojuegos. A diferencia de los CPUs, los
GPUs pueden llegar a tener cientos de núcleos en un solo procesador.
Aunque su función primordial está vinculada a gráficos, se han
hecho enormes esfuerzos para aprovechar la sinergía de ambas unidades
de procesamiento para obtener mejores rendimientos y así poder
realizar simulaciones numéricas de gran envergadura. Tal es el
caso del grupo de investigadores del Centro de Astrofísica y Supercómputo
de la Universidad de Swinburne en Australia, quienes se han dedicado
a implementar sus códigos numéricos astrofísicos al uso simultaneo
de CPUs con GPUs, obteniendo resultados impresionantes que llegan
a dar rendimiento hasta de 2 ordenes de magnitud mejor que los
códigos que funcionan bajo el ambiente de los CPUs, es decir, obtienen
resultados 100 veces más rápidos que lo utilizando solamente con
CPUs (Barsdell, Barnes & Fluke 2010).
En suma, creemos que en nuestro
país, deberíamos entrarle de lleno al uso intensivo de Clusters
de GPUs, no solo para desarrollo de videojuegos, sino para aplicaciones
relacionadas a problemas astrofísicos que necesitan de grandes
recursos computacionales y así desarrollar investigación de frontera
a través del supercómputo.
|