CambioDigital-OL

0

Los GPUs: Diseñados para juegos ahora cruciales para HPC y AI

GPU Nvidia¿Cómo es que un chip destinado a los juegos se convirtió en algo tan vital en la informática empresarial? Algunas personas pensaron miraron mas allá de su rutina.

Es raro ver que un procesador encuentre un gran éxito fuera del área para la que fue diseñado, pero eso es exactamente lo que le ha pasado a la unidad de procesamiento gráfico (GPU). Un chip originalmente concebido para acelerar los gráficos de juego y nada más que eso, hace que todo funcione, desde Adobe Premier y las bases de datos hasta la informática de alto rendimiento (HPC) o la inteligencia artificial (AI).

Las GPU se ofrecen ahora en los servidores de los principales fabricantes de equipos y de otros fabricantes, como Supermicro, pero no los usan para acelerar los gráficos.

Esto se debe a que la GPU es, en esencia, un coprocesador matemático gigante que ahora se utiliza para realizar trabajos de cálculo intensivo que van desde las simulaciones en 3D hasta imágenes médicas y los modelos financieros.

GPUS vs. CPUs
Debido a su diseño de propósito único, los núcleos de la GPU son mucho más pequeños que los núcleos de las CPUs, por lo que las GPUs tienen miles de núcleos, mientras que las CPUs tienen un máximo de 32 núcleos. Con hasta 5.000 núcleos disponibles para una sola tarea, el diseño se presta para un procesamiento paralelo masivo.

Jon Peddie, presidente de Jon Peddie Research, que sigue el mercado de los gráficos, afirma que allí, dondequiera que una aplicación necesite procesamiento paralelo, pues es allí donde el GPU Computing se destaca.

“En el pasado, el procesamiento paralelo se hacía con un gran número de procesadores como un x86, por lo que eran muy caros y difíciles de programar. La GPU como procesador dedicado de un solo propósito ofrecía una densidad de cálculo mucho mayor, y ha sido explotada en muchas tareas de aceleración matemática”, afirmó.

Aplicaciones compatibles con GPUs
El uso de la GPU en el centro de datos comenzó con aplicaciones locales gracias a un lenguaje desarrollado por Nvidia llamado CUDA. CUDA utiliza una sintaxis similar a la C para hacer llamadas a la GPU en lugar de a la CPU, pero en lugar de hacer una sola llamada a la vez, se pueden hacer miles en paralelo.

A medida que mejoraba el rendimiento de la GPU y los procesadores resultaban viables para tareas ajenas a los juegos, las aplicaciones empaquetadas empezaron a añadirles soporte. Las aplicaciones de escritorio, como Adobe Premier, se incorporaron, pero también lo hicieron las aplicaciones del lado del servidor, incluidas las bases de datos SQL. El GPU es ideal para acelerar el procesamiento de consultas SQL porque SQL realiza la misma operación, normalmente una búsqueda, en cada fila del conjunto. La GPU puede este proceso en paralelo asignando una fila de datos a un único núcleo.

Brytlyt, SQream Technologies, MapD, Kinetica, PG-Strom y Blazegraph ofrecen análisis acelerados por GPU en sus bases de datos. Oracle ha dicho que está trabajando con Nvidia pero nada parece firme todavía. Microsoft no es compatible con la aceleración por GPU en su SQL Server.

Las GPUs y cálculo de alto rendimiento (en inglés HPC o High performance Computing)
Las GPUs también han encontrado un hogar en el HPC, donde muchas tareas como las simulaciones, el modelado financiero y el renderizado 3D también funcionan bien en un entorno paralelo. Según Intersect 360, una empresa de investigación de mercado que sigue el mercado de HPC, 34 de los 50 paquetes de aplicaciones de HPC más populares ofrecen compatibilidad con las GPUs, incluidas las 15 aplicaciones de HPC más populares.

Esto incluye las aplicaciones de química GROMACS, Gaussian y VASP, ANSYS y OpenFOAM para dinámica de fluidos, Simulia Abaqus para análisis estructural y WRF para modelado meteorológico/ambiental.

“Creemos que el GPU computing ha alcanzado un punto de inflexión en el mercado de HPC y que fomentará un aumento continuo en la optimización de las aplicaciones”, afirman los analistas en su informe.

Ejemplos de cálculo en la GPU
El otro mercado emergente y en rápida expansión para las GPU es el de la IA (Inteligencia Artificial) y el del aprendizaje automático, que requieren masivamente de entornos paralelos. “Muchas empresas y CIOs están viendo cómo pueden utilizar el aprendizaje profundo para resolver sus problemas. Algunos están jugando; otros están más metidos en ello. Pero ahora es un hecho generalizado, ya que la gente está viendo hasta qué punto el aprendizaje puede ayudarles, y es generalizado, por lo que necesitan de servidores de GPU”, afirma Sarosh Irani, director de gestión de productos del grupo de servidores de GPU del proveedor de hardware Supermicro.

La IA funciona si tienes suficientes muestras de algo que estás tratando de hacer más inteligente. El sistema de IA aprende a reconocer algo, como el aspecto de las células cancerosas, pero para ello se necesitan muchos datos, que deben procesarse para aprender a distinguir lo bueno de lo malo. A medida que se descubren las correlaciones, se pueden crear algoritmos que lleven a un análisis.

Por ejemplo, la compañía energética italiana Eni y la estadounidense Stone Ridge Technology pudieron procesar modelos de reservas de petróleo en menos de un día en lugar de diez. Utilizando 3.200 GPU NVIDIA Tesla y el software ECHELON de Stone Ridge para la simulación de yacimientos de petróleo en las GPUs, logrando procesar 100.000 modelos de yacimientos en unas 15 horas y media, una tarea que duraría diez días utilizando hardware y software legacy. Cada modelo individual simuló 15 años de producción de esa reserva en un promedio de 28 minutos.

Modelar yacimientos de petróleo no es tarea fácil. Las reservas se encuentran haciendo rebotar ondas sonoras en la superficie de la Tierra y buscando ecos que indiquen una reserva de petróleo. Luego, los datos de las ondas reflejadas se convierten en imágenes que los geocientíficos pueden usar para determinar si un prospecto de yacimiento contiene hidrocarburos y dónde están ubicados los hidrocarburos dentro de la imagen. Esto determina si vale la pena perforar en busca de petróleo en esa reserva. Todo esto requiere un pesado procesamiento matemático, en el que se especializan las GPUs.

Fabricantes de GPU: Nvidia y AMD
Al igual que las CPU, el mercado de las GPUs se reduce a dos operadores, Nvidia y AMD. El mercado de juegos para consumidores, es bastante competitivo, y se reparte en una relación de alrededor de un 60/40 dividido entre los dos con Nvidia a la cabeza, según Jon Peddie Research.

En el centro de datos, sin embargo, ni siquiera está cerca. Peddie informa que Nvidia tiene una participación del 90 por ciento frente al 10 por ciento de AMD. Esto se debe a que Nvidia pasó la mayor parte de dos décadas sembrando y dando soporte a los centros de datos y en otros usos no relacionados con los juegos de las GPU.

GPUs y programación CUDA
A principios de la década de 2000, algunos investigadores de la Universidad de Stanford comenzaron a profundizar en la naturaleza programable y paralela del GPU. Nvidia los contrató para crear el lenguaje de programación CUDA que permitiría a los desarrolladores escribir aplicaciones en C++ que utilizaran la GPU para la aceleración.

“Le doy mucho crédito a Nvidia. Se establecieron en universidades de todo el mundo, cientos de ellas, para enseñar CUDA.  Así que cuando un estudiante se graduó, fueron desarrolladores de CUDA preaprendidos y sentaron las bases para introducir CUDA en las industrias tal y como las conocemos hoy en día”, dijo Peddie.

Uno de los profesores de Stanford que formaba parte del equipo de CUDA era Ian Buck, actualmente vicepresidente de la unidad de negocio Accelerated Computing de Nvidia. Dijo que la intención de CUDA era que fuera fácil de aprender y usar. “Cualquiera que conociera a C o Fortran, podría enseñar CUDA algún día. Al principio nos dimos cuenta de que no queríamos crear un lenguaje de programación completamente nuevo que requiriera aprender algo nuevo”, dijo.

Por lo tanto, las aplicaciones que ya se ejecutan en CPUs podrían ser “paralelizadas” con relativa rapidez. El cambio principal con CUDA fue que en lugar de llamar a una función una vez, como una rutina de ordenación, la llama miles de veces y cada núcleo la ejecuta. Pero CUDA es sólo para GPUs de Nvidia. Para programar una GPU AMD debes usar una librería llamada OpenCL que no tiene nada que ver con el soporte que tiene CUDA.

Las GPUs consumen mucha energía
Las GPUs son una fuerte alternativa a las CPUs en cuanto a rendimiento sin procesar, pero existe un vínculo directo entre rendimiento y consumo de energía, y a pesar de los mejores esfuerzos de Nvidia, las dos siguen relacionadas. Las GPUs tienen consumos de 300 vatios o más. Una CPU tiene un promedio de 85 vatios.

Para Supermicro, eso significa que tiene que diseñar un producto que utilice las GPU desde cero. “Si pongo una GPU de 300 vatios en un sistema, puede que no haya suficiente potencia o capacidad térmica. Con ocho GPUs, definitivamente no. Así que necesito una caja personalizada en su entorno”, dijo Irani.

Y si tiene un centro de datos con limitaciones de energía, eso puede ser un problema. No todo el mundo puede darse el lujo de construir centros de datos del tamaño de un estadio de fútbol junto a un río para obtener energía hidroeléctrica y refrigeración. A David Rosenberg, científico de datos de la Oficina del Director Técnico de Bloomberg, le encanta cómo las GPU pueden reducir los trabajos de cálculo que tardarían un año en las CPU, hasta en un fin de semana con las GPU.

Pero también se encuentra a menudo en situaciones en las que todo un armario tiene sólo uno o dos racks de GPUs porque consumen toda la energía que el armario puede proporcionar.

“Estamos constantemente buscando poder”, dijo. “Si ponemos 500 GPUs en un centro de datos, hay muchos otros ordenadores que no pueden estar ahí. Las GPU son más eficientes que las CPU en cuanto a consumo de energía en proporción al cálculo que generan. Es sólo que están haciendo mucho más computación que las CPUs y terminan usando una tonelada de energía” *.

*Nota del editor: Otro campo no nombrado por el autor donde las GPUs resultan imprescindibles es el del minado de las criptomonedas, es por eso que las PC de Minado son intrínsecamente distintas a las PCs normales que usamos a diario. De aquí el consumo de energía exorbitado  que produce la actividad de la minería de criptomonedas.

Andy Patrizio – Network World – Trad. Giorgio Baron

Ordenado por: De interés y curiosidades Tags: 

TOT

 

 

Contenidos recomendados...

Comparta esta publicación

Artículos relacionados

Escriba su comentario

Ud. tiene que estar conectado para publicar comentarios.

Red de publicaciones IDG en Latinoamérica: Computerworld Ecuador - Computerworld Colombia - CIO Perú // Contáctenos
© 8429 Computerworld Venezuela - All rights reserved ---- WordPress - Tema adaptado por GiorgioB