Desarrollando simulaciones discretas eficientes en arquitecturas multicore y GPU
Autores: Cagigas-Muñiz, Daniel; Diaz-del-Rio, Fernando; López-Torres, Manuel Ramón; Jiménez-Morales, Francisco; Guisado, José Luis
Idioma: Inglés
Editor: MDPI
Año: 2020
Acceso abierto
Artículo científico
2020
Desarrollando simulaciones discretas eficientes en arquitecturas multicore y GPU
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Implementación de simulaciones discretas paralelas
Arquitecturas multicore y GPU
Modelo de autómatas celulares
Dinámica láser
Marcos OpenMP y CUDA
Degradación del rendimiento
CPUs multicore
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 27
Citaciones: Sin citaciones
En este documento mostramos cómo implementar de manera eficiente simulaciones discretas paralelas en arquitecturas multicore y GPU a través de un ejemplo real de una aplicación: un modelo de autómatas celulares de dinámica láser. Describimos las técnicas utilizadas para construir y optimizar las implementaciones utilizando los marcos de trabajo OpenMP y CUDA. Hemos evaluado el rendimiento en dos plataformas de hardware diferentes que representan segmentos de mercado objetivo distintos: plataformas de gama alta para computación científica, utilizando un servidor Intel Xeon Platinum 8259CL con 48 núcleos, y también una GPU NVIDIA Tesla V100, ambas en ejecución en Amazon Web Server (AWS) Cloud; y en una plataforma orientada al consumidor, utilizando un CPU Intel Core i9 9900k y una GPU NVIDIA GeForce GTX 1050 TI. Los resultados de rendimiento fueron comparados y analizados en detalle. Mostramos que se puede obtener un excelente rendimiento y escalabilidad en ambas plataformas, y extraemos algunos problemas importantes que implican una degradación del rendimiento para ellas. También encontramos que los actuales CPUs multicore con un gran número de núcleos pueden ofrecer un rendimiento muy cercano al de las GPUs, e incluso idéntico en algunos casos.
Descripción
En este documento mostramos cómo implementar de manera eficiente simulaciones discretas paralelas en arquitecturas multicore y GPU a través de un ejemplo real de una aplicación: un modelo de autómatas celulares de dinámica láser. Describimos las técnicas utilizadas para construir y optimizar las implementaciones utilizando los marcos de trabajo OpenMP y CUDA. Hemos evaluado el rendimiento en dos plataformas de hardware diferentes que representan segmentos de mercado objetivo distintos: plataformas de gama alta para computación científica, utilizando un servidor Intel Xeon Platinum 8259CL con 48 núcleos, y también una GPU NVIDIA Tesla V100, ambas en ejecución en Amazon Web Server (AWS) Cloud; y en una plataforma orientada al consumidor, utilizando un CPU Intel Core i9 9900k y una GPU NVIDIA GeForce GTX 1050 TI. Los resultados de rendimiento fueron comparados y analizados en detalle. Mostramos que se puede obtener un excelente rendimiento y escalabilidad en ambas plataformas, y extraemos algunos problemas importantes que implican una degradación del rendimiento para ellas. También encontramos que los actuales CPUs multicore con un gran número de núcleos pueden ofrecer un rendimiento muy cercano al de las GPUs, e incluso idéntico en algunos casos.