Developing Efficient Discrete Simulations on Multicore and GPU Architectures

In this paper we show how to efficiently implement parallel discrete simulations on multicoreandGPUarchitecturesthrougharealexampleofanapplication: acellularautomatamodel of laser dynamics. We describe the techniques employed to build and optimize the implementations using OpenMP and CUDA frameworks....

Descripción completa

Detalles Bibliográficos
Autores: Cagigas Muñiz, Daniel, Díaz del Río, Fernando, López-Torres, Manuel Ramón, Jiménez-Morales, Francisco de Paula, Guisado Lizar, José Luis
Tipo de recurso: artículo
Estado:Versión publicada
Fecha de publicación:2020
País:España
Institución:Universidad de Sevilla (US)
Repositorio:idUS. Depósito de Investigación de la Universidad de Sevilla
OAI Identifier:oai:idus.us.es:11441/94070
Acceso en línea:https://hdl.handle.net/11441/94070
https://doi.org/10.3390/electronics9010189
Access Level:acceso abierto
Palabra clave:Laser dynamics
Parallel computing
Cellular automata
GPUs and multi-core processors performance
Descripción
Sumario:In this paper we show how to efficiently implement parallel discrete simulations on multicoreandGPUarchitecturesthrougharealexampleofanapplication: acellularautomatamodel of laser dynamics. We describe the techniques employed to build and optimize the implementations using OpenMP and CUDA frameworks. We have evaluated the performance on two different hardware platforms that represent different target market segments: high-end platforms for scientific computing, using an Intel Xeon Platinum 8259CL server with 48 cores, and also an NVIDIA Tesla V100GPU,bothrunningonAmazonWebServer(AWS)Cloud;and on a consumer-oriented platform, using an Intel Core i9 9900k CPU and an NVIDIA GeForce GTX 1050 TI GPU. Performance results were compared and analyzed in detail. We show that excellent performance and scalability can be obtained in both platforms, and we extract some important issues that imply a performance degradation for them. We also found that current multicore CPUs with large core numbers can bring a performance very near to that of GPUs, and even identical in some cases.