Efficient simulation execution of cellular automata on GPU
Graphics Processing Units (GPUs) can be used as convenient hardware accelerators to speed up Cellular Automata (CA) simulations, which are employed in many scientific areas. However, an important set of CA have performance constraints due to GPU memory bandwidth. Few studies have fully explored how...
| Autores: | , , , |
|---|---|
| Formato: | artículo |
| Estado: | Versión publicada |
| Fecha de publicación: | 2022 |
| País: | España |
| Recursos: | Universidad de Sevilla (US) |
| Repositorio: | idUS. Depósito de Investigación de la Universidad de Sevilla |
| OAI Identifier: | oai:idus.us.es:11441/131065 |
| Acesso em linha: | https://hdl.handle.net/11441/131065 https://doi.org/10.1016/j.simpat.2022.102519 |
| Access Level: | acceso abierto |
| Palavra-chave: | Cellular automata Parallel Computing Performance optimization Stencil computation Graphics Processing Units |
| id |
ES_7fa42fe888cc6ea553cb55d2b782be55 |
|---|---|
| oai_identifier_str |
oai:idus.us.es:11441/131065 |
| network_acronym_str |
ES |
| network_name_str |
España |
| repository_id_str |
|
| spelling |
Efficient simulation execution of cellular automata on GPUCagigas Muñiz, DanielDíaz del Río, FernandoSevillano Ramos, José LuisGuisado Lizar, José LuisCellular automataParallel ComputingPerformance optimizationStencil computationGraphics Processing UnitsGraphics Processing Units (GPUs) can be used as convenient hardware accelerators to speed up Cellular Automata (CA) simulations, which are employed in many scientific areas. However, an important set of CA have performance constraints due to GPU memory bandwidth. Few studies have fully explored how CA implementations can take advantage of modern GPU architectures, mainly in the case of intensive memory usage. In this paper, we make a thorough study of techniques (stencil computing framework, look-up tables, and packet coding) to efficiently implement CA on GPU, taking into account its detailed architecture. Exhaustive experiments to validate these implementation techniques for a number of significant memory bounded CA are performed. The CA analysed include the classical Game of Life, a Forest Fire model, a Cyclic cellular automaton, and the WireWorld CA. The experimental results show that implementations using the presented techniques can significantly outperform a baseline standard GPU implementation. The best performance results of all known implementations of memory bounded CA were obtained. Moreover, some of the techniques, like look-up tables or temporal blocking, are indeed relatively easy to implement or to apply when the transition rules are simple. Finally, detailed descriptions and discussions of the indicated techniques are included, which may be useful to practitioners interested in developing high performance simulations in efficient languages based on CA on GPU.Agencia Estatal de Investigación PID2019-110455GB-I00)Junta de Andalucía CIUCAP-HSF:US-1381077ElsevierArquitectura y Tecnología de ComputadoresTEP-108: Robótica y Tecnología de ComputadoresAgencia Estatal de Investigación. EspañaJunta de Andalucía2022info:eu-repo/semantics/articleinfo:eu-repo/semantics/publishedVersionapplication/pdfapplication/pdfhttps://hdl.handle.net/11441/131065https://doi.org/10.1016/j.simpat.2022.102519reponame:idUS. Depósito de Investigación de la Universidad de Sevillainstname:Universidad de Sevilla (US)InglésSimulation Modelling Practice and Theory, 118 (July 2022, nº102519)PID2019-110455GB-I00CIUCAP-HSF:US-1381077https://www.sciencedirect.com/science/article/pii/S1569190X22000259?via%3Dihubinfo:eu-repo/semantics/openAccessoai:idus.us.es:11441/1310652026-06-17T12:51:07Z |
| dc.title.none.fl_str_mv |
Efficient simulation execution of cellular automata on GPU |
| title |
Efficient simulation execution of cellular automata on GPU |
| spellingShingle |
Efficient simulation execution of cellular automata on GPU Cagigas Muñiz, Daniel Cellular automata Parallel Computing Performance optimization Stencil computation Graphics Processing Units |
| title_short |
Efficient simulation execution of cellular automata on GPU |
| title_full |
Efficient simulation execution of cellular automata on GPU |
| title_fullStr |
Efficient simulation execution of cellular automata on GPU |
| title_full_unstemmed |
Efficient simulation execution of cellular automata on GPU |
| title_sort |
Efficient simulation execution of cellular automata on GPU |
| dc.creator.none.fl_str_mv |
Cagigas Muñiz, Daniel Díaz del Río, Fernando Sevillano Ramos, José Luis Guisado Lizar, José Luis |
| author |
Cagigas Muñiz, Daniel |
| author_facet |
Cagigas Muñiz, Daniel Díaz del Río, Fernando Sevillano Ramos, José Luis Guisado Lizar, José Luis |
| author_role |
author |
| author2 |
Díaz del Río, Fernando Sevillano Ramos, José Luis Guisado Lizar, José Luis |
| author2_role |
author author author |
| dc.contributor.none.fl_str_mv |
Arquitectura y Tecnología de Computadores TEP-108: Robótica y Tecnología de Computadores Agencia Estatal de Investigación. España Junta de Andalucía |
| dc.subject.none.fl_str_mv |
Cellular automata Parallel Computing Performance optimization Stencil computation Graphics Processing Units |
| topic |
Cellular automata Parallel Computing Performance optimization Stencil computation Graphics Processing Units |
| description |
Graphics Processing Units (GPUs) can be used as convenient hardware accelerators to speed up Cellular Automata (CA) simulations, which are employed in many scientific areas. However, an important set of CA have performance constraints due to GPU memory bandwidth. Few studies have fully explored how CA implementations can take advantage of modern GPU architectures, mainly in the case of intensive memory usage. In this paper, we make a thorough study of techniques (stencil computing framework, look-up tables, and packet coding) to efficiently implement CA on GPU, taking into account its detailed architecture. Exhaustive experiments to validate these implementation techniques for a number of significant memory bounded CA are performed. The CA analysed include the classical Game of Life, a Forest Fire model, a Cyclic cellular automaton, and the WireWorld CA. The experimental results show that implementations using the presented techniques can significantly outperform a baseline standard GPU implementation. The best performance results of all known implementations of memory bounded CA were obtained. Moreover, some of the techniques, like look-up tables or temporal blocking, are indeed relatively easy to implement or to apply when the transition rules are simple. Finally, detailed descriptions and discussions of the indicated techniques are included, which may be useful to practitioners interested in developing high performance simulations in efficient languages based on CA on GPU. |
| publishDate |
2022 |
| dc.date.none.fl_str_mv |
2022 |
| dc.type.none.fl_str_mv |
info:eu-repo/semantics/article info:eu-repo/semantics/publishedVersion |
| format |
article |
| status_str |
publishedVersion |
| dc.identifier.none.fl_str_mv |
https://hdl.handle.net/11441/131065 https://doi.org/10.1016/j.simpat.2022.102519 |
| url |
https://hdl.handle.net/11441/131065 https://doi.org/10.1016/j.simpat.2022.102519 |
| dc.language.none.fl_str_mv |
Inglés |
| language_invalid_str_mv |
Inglés |
| dc.relation.none.fl_str_mv |
Simulation Modelling Practice and Theory, 118 (July 2022, nº102519) PID2019-110455GB-I00 CIUCAP-HSF:US-1381077 https://www.sciencedirect.com/science/article/pii/S1569190X22000259?via%3Dihub |
| dc.rights.none.fl_str_mv |
info:eu-repo/semantics/openAccess |
| eu_rights_str_mv |
openAccess |
| dc.format.none.fl_str_mv |
application/pdf application/pdf |
| dc.publisher.none.fl_str_mv |
Elsevier |
| publisher.none.fl_str_mv |
Elsevier |
| dc.source.none.fl_str_mv |
reponame:idUS. Depósito de Investigación de la Universidad de Sevilla instname:Universidad de Sevilla (US) |
| instname_str |
Universidad de Sevilla (US) |
| reponame_str |
idUS. Depósito de Investigación de la Universidad de Sevilla |
| collection |
idUS. Depósito de Investigación de la Universidad de Sevilla |
| repository.name.fl_str_mv |
|
| repository.mail.fl_str_mv |
|
| _version_ |
1869411839753846784 |
| score |
15.301603 |