Acceleration strategies for Tridimensional Coupled hydromechanical problems based on CPU and GPU programming in MATLAB
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.
Main Authors: | , , , , |
---|---|
Format: | Digital revista |
Language: | English |
Published: |
Academia Brasileira de Ciências
2022
|
Online Access: | http://old.scielo.br/scielo.php?script=sci_arttext&pid=S0001-37652022000801702 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
id |
oai:scielo:S0001-37652022000801702 |
---|---|
record_format |
ojs |
spelling |
oai:scielo:S0001-376520220008017022022-12-16Acceleration strategies for Tridimensional Coupled hydromechanical problems based on CPU and GPU programming in MATLABJOSEPH,JEAN B.RIBEIRO,PAULO MARCELO V.GUIMARÃES,LEONARDO J.N.CHAVES JUNIOR,CICERO VITORTEIXEIRA,JONATHAN DA C. Computational efficiency explicit matrix finite elements geomechanical problem GPU programming sparse stiffness matrices 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.info:eu-repo/semantics/openAccessAcademia Brasileira de CiênciasAnais da Academia Brasileira de Ciências v.94 suppl.4 20222022-01-01info:eu-repo/semantics/articletext/htmlhttp://old.scielo.br/scielo.php?script=sci_arttext&pid=S0001-37652022000801702en10.1590/0001-3765202220211024 |
institution |
SCIELO |
collection |
OJS |
country |
Brasil |
countrycode |
BR |
component |
Revista |
access |
En linea |
databasecode |
rev-scielo-br |
tag |
revista |
region |
America del Sur |
libraryname |
SciELO |
language |
English |
format |
Digital |
author |
JOSEPH,JEAN B. RIBEIRO,PAULO MARCELO V. GUIMARÃES,LEONARDO J.N. CHAVES JUNIOR,CICERO VITOR TEIXEIRA,JONATHAN DA C. |
spellingShingle |
JOSEPH,JEAN B. RIBEIRO,PAULO MARCELO V. GUIMARÃES,LEONARDO J.N. CHAVES JUNIOR,CICERO VITOR TEIXEIRA,JONATHAN DA C. Acceleration strategies for Tridimensional Coupled hydromechanical problems based on CPU and GPU programming in MATLAB |
author_facet |
JOSEPH,JEAN B. RIBEIRO,PAULO MARCELO V. GUIMARÃES,LEONARDO J.N. CHAVES JUNIOR,CICERO VITOR TEIXEIRA,JONATHAN DA C. |
author_sort |
JOSEPH,JEAN B. |
title |
Acceleration strategies for Tridimensional Coupled hydromechanical problems based on CPU and GPU programming in MATLAB |
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 |
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. |
publisher |
Academia Brasileira de Ciências |
publishDate |
2022 |
url |
http://old.scielo.br/scielo.php?script=sci_arttext&pid=S0001-37652022000801702 |
work_keys_str_mv |
AT josephjeanb accelerationstrategiesfortridimensionalcoupledhydromechanicalproblemsbasedoncpuandgpuprogramminginmatlab AT ribeiropaulomarcelov accelerationstrategiesfortridimensionalcoupledhydromechanicalproblemsbasedoncpuandgpuprogramminginmatlab AT guimaraesleonardojn accelerationstrategiesfortridimensionalcoupledhydromechanicalproblemsbasedoncpuandgpuprogramminginmatlab AT chavesjuniorcicerovitor accelerationstrategiesfortridimensionalcoupledhydromechanicalproblemsbasedoncpuandgpuprogramminginmatlab AT teixeirajonathandac accelerationstrategiesfortridimensionalcoupledhydromechanicalproblemsbasedoncpuandgpuprogramminginmatlab |
_version_ |
1756472269843988481 |