De los videojuegos a los cálculos científicos

Las supercomputadoras se convirtieron en herramientas vitales para la ciencia por su capacidad para realizar cálculos con volúmenes gigantescos de datos. Semanas atrás, la UNC triplicó la capacidad de cómputo de su mejor máquina, apodada “Mendieta”, hasta los 29 teraflops, es decir, 29 billones de operaciones con números reales por segundo. ¿La clave? Usan tarjetas gráficas muy similares a las que traen las consolas hogareñas de videojuegos, pero conectadas entre sí. [30.07.2014]

Por Andrés Fernández
Redacción UNCiencia
Prosecretaría de Comunicación Institucional – UNC
andres.fernandez@unc.edu.ar

Desde calcular la respuesta aerodinámica de un vehículo de competición hasta analizar cómo se forma la opinión en una sociedad. O desde evaluar la dinámica cuántica de un sistema molecular hasta estudiar la formación de la estructura del universo. En ciencia, existen preguntas cuyas respuestas requieren la realización de un sinnúmero de cálculos o experimentos prácticamente imposibles en el mundo real.

Cuando eso sucede, los científicos recurren a la simulación en ordenadores: recrean su objeto de estudio virtualmente e indagan su comportamiento y su respuesta frente a distintos escenarios. Aun así, existen casos donde el volumen de datos que se debe analizar es tan descomunal que ninguna computadora de escritorio –ni siquiera la más potente del mercado– podría realizar semejante cantidad de cálculos en un tiempo razonable.

La salida a esa encrucijada se encuentra en la computación de alto rendimiento, o HPC por sus siglas en inglés. Se trata, en términos simples, de una serie de computadoras interconectadas que pueden trabajar en paralelo y multiplican, de esa manera, su potencial.  Sin embargo, el punto de quiebre en este tipo de tecnología lo marcó la irrupción de las tarjetas gráficas (GPU), las mismas que en las consolas hogareñas de videojuegos se encargan de generar, en tiempo real, imágenes con un nivel de detalle casi idéntico a la realidad.

Creadas originariamente para satisfacer las ansiedades lúdicas de los gamers, la capacidad de estas tarjetas gráficas fue creciendo con el correr de los años, sobre todo traccionada por la demanda de la industria de los videojuegos, que requería hardware cada vez más potentes para renderizar sus animaciones con mejor calidad.

Hace prácticamente una década se advirtió que la potencia de las GPU para realizar cálculos generales era casi igual o mayor al de los procesadores estándar CPU (los chips de Intel o AMD) y así los investigadores comenzaron a utilizarlas para realizar simulaciones numéricas. Desde entonces, su aplicación en el campo científico no dejó de crecer.

En el Centro de Computación de Alto Desempeño (CCAD) de la Universidad Nacional de Córdoba, el equipamiento más importante es “Mendieta”, un cluster de 22 máquinas (nodos) conectadas en red, cada una de las cuales posee dos CPU y una GPU. Con las últimas actualizaciones realizadas semanas atrás, Mendieta triplicó su capacidad teórica de cómputo hasta llegar a los 29,1 teraflops, una medida que sirve para cuantificar el rendimiento de un sistema. En lenguaje llano, implica que podría realizar hasta 29,1 billones de operaciones matemáticas por segundo, siempre con números reales.

¿Cuál es la principal ventaja de estos equipos? Su velocidad: pueden realizar cálculos hasta diez veces más rápido. Simulaciones que antes demoraban dos meses y medio, con estos recursos ahora pueden resolverse en una semana. “Los cluster reducen los tiempos. Muchas áreas están abandonando los laboratorios y la experimentación en la computadora es cada vez más usual para astrónomos, químicos, físicos y biólogos, entre otros”, explica Nicolás Wolovick, integrante del CCAD.

La versatilidad de la computación de alto desempeño abre un nuevo panorama para la forma en que los científicos venían produciendo el conocimiento. Hoy las simulaciones –esto es, la generación de un modelo de la realidad construido a partir de ecuaciones– permiten realizar un sinnúmero de pruebas y experimentos que no sólo indagan el mundo físico, sino también conceptos abstractos, como expresiones lógicas. Estas herramientas informáticas posibilitan incluso sondear las respuestas posibles a preguntas que no tienen un correlato práctico a priori y cuyo hilo conductor puede ser un simple interrogante: “qué pasaría si….”.

Imagen | CPU vs GPU

CPU vs GPU

A contramano de las innovaciones tecnológicas que se desarrollaron con fines científicos y luego terminan permeando la vida cotidiana de las personas, las tarjetas gráficas (GPU) recorrieron el camino inverso. Nacieron para entretener en el hogar, pero rápidamente su habilidad le conquistó un lugar destacado entre las herramientas de los investigadores.

La clave está en la excelente relación costo/potencia de cálculo que tienen las GPU, que son mucho más rápidas que las CPU para realizar ciertas tareas específicas, justamente las que necesitan los especialistas para realizar sus simulaciones.

¿Cuál es la diferencia entre la CPU y la GPU? Las primeras son muy buenas para operaciones donde un resultado depende del anterior. Por ejemplo, cuando dibujar un punto B necesita indefectiblemente que antes se haya graficado el punto A.

Las GPU, en cambio, son excelentes para casos donde se deben dibujar simultáneamente una gran cantidad de puntos independientes. En este caso, la generación de Z no requiere previamente la creación de A, B, C…  Esta posibilidad de representar al mismo tiempo todos los puntos se denomina “paralelismo total”.

La contracara de semejante ventaja es que para aprovechar al máximo las GPU es necesario escribir los programas que ejecutarán esas máquinas de una manera muy especial. Para ello, el Centro de Computación de Alto Desempeño de la UNC tiene un equipo de jóvenes abocados a crear y optimizar el código de los software que se corren en sus clusters. 

Sobre el Centro de Computación de Alto Desempeño

El Centro de Computación de Alto Desempeño de la UNC fue creado el 14 de diciembre de 2010 y en septiembre de 2011 fue adherido al Sistema Nacional de Computación de Alto Desempeño, una iniciativa del Ministerio de Ciencia, Tecnología e Innovación Productiva que apunta a conformar una red de facilidades disponible para la comunidad científica argentina.

Justamente, la idea del CCAD  a nivel local es centralizar todos los recursos computacionales de vanguardia existentes en las diferentes unidades académicas y promocionar su uso por parte de los equipos de investigación. La ductilidad de estos equipos permite que se pueda trabajar en ellos de forma remota, ya que el usuario puede conectarse por internet al cluster y ejecutar allí sus programas. Así es como vienen usándolos científicos de la UNC, pero también de otros centros y casas de altos estudios de las ciudades de Paraná, Río Cuarto, Mendoza y Buenos Aires, entre otros.

Recursos   |   Descargar las fotografías en alta resolución