Acceleration strategies for Tridimensional Coupled hydromechanical problems based on CPU and GPU programming in MATLAB
Autor(a) principal: | |
---|---|
Data de Publicação: | 2022 |
Outros Autores: | , , , |
Tipo de documento: | Artigo |
Idioma: | eng |
Título da fonte: | Anais da Academia Brasileira de Ciências (Online) |
Texto Completo: | http://old.scielo.br/scielo.php?script=sci_arttext&pid=S0001-37652022000801702 |
Resumo: | Abstract Large-scale fluid flow in porous media demands intense computations and occurs in the most diverse applications, including groundwater flow and oil recovery. This article presents novel computational strategies applied to reservoir geomechanics. Advances are proposed for the efficient assembly of finite element matrices and the solution of linear systems using highly vectorized code in MATLAB. In the CPU version, element matrix assembly is performed using conventional vectorization procedures, based on two strategies: the explicit matrices, and the multidimensional products. Further assembly of the global sparse matrix is achieved using the native sparse function. For the GPU version, computation of the complete set of element matrices is performed with the same strategies as the CPU approach, using gpuArray structures and the native CUDA support provided by MATLAB Parallel Computing Toolbox. Solution of the resulting linear system in CPU and GPU versions is obtained with two strategies using a one-way approach: the native conjugate gradient solver (pcg), and the one provided by the Eigen library. A broad discussion is presented in a dedicated benchmark, where the different strategies using CPU and GPU are compared in processing time and memory requirements. These analyses present significant speedups over serial codes. |
id |
ABC-1_e12272864542d35044068085c3414ec9 |
---|---|
oai_identifier_str |
oai:scielo:S0001-37652022000801702 |
network_acronym_str |
ABC-1 |
network_name_str |
Anais da Academia Brasileira de Ciências (Online) |
repository_id_str |
|
spelling |
Acceleration strategies for Tridimensional Coupled hydromechanical problems based on CPU and GPU programming in MATLABComputational efficiencyexplicit matrixfinite elementsgeomechanical problemGPU programmingsparse stiffness matricesAbstract Large-scale fluid flow in porous media demands intense computations and occurs in the most diverse applications, including groundwater flow and oil recovery. This article presents novel computational strategies applied to reservoir geomechanics. Advances are proposed for the efficient assembly of finite element matrices and the solution of linear systems using highly vectorized code in MATLAB. In the CPU version, element matrix assembly is performed using conventional vectorization procedures, based on two strategies: the explicit matrices, and the multidimensional products. Further assembly of the global sparse matrix is achieved using the native sparse function. For the GPU version, computation of the complete set of element matrices is performed with the same strategies as the CPU approach, using gpuArray structures and the native CUDA support provided by MATLAB Parallel Computing Toolbox. Solution of the resulting linear system in CPU and GPU versions is obtained with two strategies using a one-way approach: the native conjugate gradient solver (pcg), and the one provided by the Eigen library. A broad discussion is presented in a dedicated benchmark, where the different strategies using CPU and GPU are compared in processing time and memory requirements. These analyses present significant speedups over serial codes.Academia Brasileira de Ciências2022-01-01info:eu-repo/semantics/articleinfo:eu-repo/semantics/publishedVersiontext/htmlhttp://old.scielo.br/scielo.php?script=sci_arttext&pid=S0001-37652022000801702Anais da Academia Brasileira de Ciências v.94 suppl.4 2022reponame:Anais da Academia Brasileira de Ciências (Online)instname:Academia Brasileira de Ciências (ABC)instacron:ABC10.1590/0001-3765202220211024info:eu-repo/semantics/openAccessJOSEPH,JEAN B.RIBEIRO,PAULO MARCELO V.GUIMARÃES,LEONARDO J.N.CHAVES JUNIOR,CICERO VITORTEIXEIRA,JONATHAN DA C.eng2022-12-16T00:00:00Zoai:scielo:S0001-37652022000801702Revistahttp://www.scielo.br/aabchttps://old.scielo.br/oai/scielo-oai.php||aabc@abc.org.br1678-26900001-3765opendoar:2022-12-16T00:00Anais da Academia Brasileira de Ciências (Online) - Academia Brasileira de Ciências (ABC)false |
dc.title.none.fl_str_mv |
Acceleration strategies for Tridimensional Coupled hydromechanical problems based on CPU and GPU programming in MATLAB |
title |
Acceleration strategies for Tridimensional Coupled hydromechanical problems based on CPU and GPU programming in MATLAB |
spellingShingle |
Acceleration strategies for Tridimensional Coupled hydromechanical problems based on CPU and GPU programming in MATLAB JOSEPH,JEAN B. Computational efficiency explicit matrix finite elements geomechanical problem GPU programming sparse stiffness matrices |
title_short |
Acceleration strategies for Tridimensional Coupled hydromechanical problems based on CPU and GPU programming in MATLAB |
title_full |
Acceleration strategies for Tridimensional Coupled hydromechanical problems based on CPU and GPU programming in MATLAB |
title_fullStr |
Acceleration strategies for Tridimensional Coupled hydromechanical problems based on CPU and GPU programming in MATLAB |
title_full_unstemmed |
Acceleration strategies for Tridimensional Coupled hydromechanical problems based on CPU and GPU programming in MATLAB |
title_sort |
Acceleration strategies for Tridimensional Coupled hydromechanical problems based on CPU and GPU programming in MATLAB |
author |
JOSEPH,JEAN B. |
author_facet |
JOSEPH,JEAN B. RIBEIRO,PAULO MARCELO V. GUIMARÃES,LEONARDO J.N. CHAVES JUNIOR,CICERO VITOR TEIXEIRA,JONATHAN DA C. |
author_role |
author |
author2 |
RIBEIRO,PAULO MARCELO V. GUIMARÃES,LEONARDO J.N. CHAVES JUNIOR,CICERO VITOR TEIXEIRA,JONATHAN DA C. |
author2_role |
author author author author |
dc.contributor.author.fl_str_mv |
JOSEPH,JEAN B. RIBEIRO,PAULO MARCELO V. GUIMARÃES,LEONARDO J.N. CHAVES JUNIOR,CICERO VITOR TEIXEIRA,JONATHAN DA C. |
dc.subject.por.fl_str_mv |
Computational efficiency explicit matrix finite elements geomechanical problem GPU programming sparse stiffness matrices |
topic |
Computational efficiency explicit matrix finite elements geomechanical problem GPU programming sparse stiffness matrices |
description |
Abstract Large-scale fluid flow in porous media demands intense computations and occurs in the most diverse applications, including groundwater flow and oil recovery. This article presents novel computational strategies applied to reservoir geomechanics. Advances are proposed for the efficient assembly of finite element matrices and the solution of linear systems using highly vectorized code in MATLAB. In the CPU version, element matrix assembly is performed using conventional vectorization procedures, based on two strategies: the explicit matrices, and the multidimensional products. Further assembly of the global sparse matrix is achieved using the native sparse function. For the GPU version, computation of the complete set of element matrices is performed with the same strategies as the CPU approach, using gpuArray structures and the native CUDA support provided by MATLAB Parallel Computing Toolbox. Solution of the resulting linear system in CPU and GPU versions is obtained with two strategies using a one-way approach: the native conjugate gradient solver (pcg), and the one provided by the Eigen library. A broad discussion is presented in a dedicated benchmark, where the different strategies using CPU and GPU are compared in processing time and memory requirements. These analyses present significant speedups over serial codes. |
publishDate |
2022 |
dc.date.none.fl_str_mv |
2022-01-01 |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/article |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
format |
article |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://old.scielo.br/scielo.php?script=sci_arttext&pid=S0001-37652022000801702 |
url |
http://old.scielo.br/scielo.php?script=sci_arttext&pid=S0001-37652022000801702 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.relation.none.fl_str_mv |
10.1590/0001-3765202220211024 |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
text/html |
dc.publisher.none.fl_str_mv |
Academia Brasileira de Ciências |
publisher.none.fl_str_mv |
Academia Brasileira de Ciências |
dc.source.none.fl_str_mv |
Anais da Academia Brasileira de Ciências v.94 suppl.4 2022 reponame:Anais da Academia Brasileira de Ciências (Online) instname:Academia Brasileira de Ciências (ABC) instacron:ABC |
instname_str |
Academia Brasileira de Ciências (ABC) |
instacron_str |
ABC |
institution |
ABC |
reponame_str |
Anais da Academia Brasileira de Ciências (Online) |
collection |
Anais da Academia Brasileira de Ciências (Online) |
repository.name.fl_str_mv |
Anais da Academia Brasileira de Ciências (Online) - Academia Brasileira de Ciências (ABC) |
repository.mail.fl_str_mv |
||aabc@abc.org.br |
_version_ |
1754302872966660096 |