FastMat: A C++ library for multi-index array computations

Autores
Paz, Rodrigo Rafael; Storti, Mario Alberto; Dalcin, Lisandro Daniel; Castro, Hugo Guillermo; Kler, Pablo Alejandro
Año de publicación
2012
Idioma
inglés
Tipo de recurso
artículo
Estado
versión publicada
Descripción
In this paper we introduce and describe an efficient thread-safe matrix library for computing element/cell residuals and Jacobians in Finite Elements and Finite Volume-like codes. The library provides a wide range of multi-index tensor operations that are normally used in scientific numerical computations. The library implements an algorithm for choosing the optimal computation order when a product of several tensors is performed (i.e., the so-called ?multi-product? operation). Another key-point of the FastMat approach is that some computations (for instance the optimal order in the multi-product operation mentioned before) are computed in the first iteration of the loop body and stored in a cache object, so that in the second and subsequent executions these computations are retrieved from the cache, and then not recomputed. The library is open source and freely available within the multi-physics parallel FEM code PETSc-FEM http://www.cimec.org.ar/petscfem and it can be exploited on distributed and shared memory architectures as well as in hybrid approaches. We studied the performance of the library in the context of typical FEM tensor contractions.
Fil: Paz, Rodrigo Rafael. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Santa Fe. Instituto de Desarrollo Tecnológico Para la Industria Química. Universidad Nacional del Litoral. Instituto de Desarrollo Tecnológico Para la Industria Química; Argentina
Fil: Storti, Mario Alberto. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Santa Fe. Instituto de Desarrollo Tecnológico Para la Industria Química. Universidad Nacional del Litoral. Instituto de Desarrollo Tecnológico Para la Industria Química; Argentina
Fil: Dalcin, Lisandro Daniel. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Santa Fe. Instituto de Desarrollo Tecnológico Para la Industria Química. Universidad Nacional del Litoral. Instituto de Desarrollo Tecnológico Para la Industria Química; Argentina
Fil: Castro, Hugo Guillermo. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Santa Fe. Instituto de Desarrollo Tecnológico Para la Industria Química. Universidad Nacional del Litoral. Instituto de Desarrollo Tecnológico Para la Industria Química; Argentina
Fil: Kler, Pablo Alejandro. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Santa Fe. Instituto de Desarrollo Tecnológico para la Industria Química. Universidad Nacional del Litoral. Instituto de Desarrollo Tecnológico para la Industria Química; Argentina
Materia
Multi-Index Array Library
Finite Element Method
Parallel Computing
Nivel de accesibilidad
acceso abierto
Condiciones de uso
https://creativecommons.org/licenses/by-nc-sa/2.5/ar/
Repositorio
CONICET Digital (CONICET)
Institución
Consejo Nacional de Investigaciones Científicas y Técnicas
OAI Identificador
oai:ri.conicet.gov.ar:11336/18805

id CONICETDig_f61045043985cac774d386925f5f4ccd
oai_identifier_str oai:ri.conicet.gov.ar:11336/18805
network_acronym_str CONICETDig
repository_id_str 3498
network_name_str CONICET Digital (CONICET)
spelling FastMat: A C++ library for multi-index array computationsPaz, Rodrigo RafaelStorti, Mario AlbertoDalcin, Lisandro DanielCastro, Hugo GuillermoKler, Pablo AlejandroMulti-Index Array LibraryFinite Element MethodParallel Computinghttps://purl.org/becyt/ford/1.2https://purl.org/becyt/ford/1In this paper we introduce and describe an efficient thread-safe matrix library for computing element/cell residuals and Jacobians in Finite Elements and Finite Volume-like codes. The library provides a wide range of multi-index tensor operations that are normally used in scientific numerical computations. The library implements an algorithm for choosing the optimal computation order when a product of several tensors is performed (i.e., the so-called ?multi-product? operation). Another key-point of the FastMat approach is that some computations (for instance the optimal order in the multi-product operation mentioned before) are computed in the first iteration of the loop body and stored in a cache object, so that in the second and subsequent executions these computations are retrieved from the cache, and then not recomputed. The library is open source and freely available within the multi-physics parallel FEM code PETSc-FEM http://www.cimec.org.ar/petscfem and it can be exploited on distributed and shared memory architectures as well as in hybrid approaches. We studied the performance of the library in the context of typical FEM tensor contractions.Fil: Paz, Rodrigo Rafael. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Santa Fe. Instituto de Desarrollo Tecnológico Para la Industria Química. Universidad Nacional del Litoral. Instituto de Desarrollo Tecnológico Para la Industria Química; ArgentinaFil: Storti, Mario Alberto. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Santa Fe. Instituto de Desarrollo Tecnológico Para la Industria Química. Universidad Nacional del Litoral. Instituto de Desarrollo Tecnológico Para la Industria Química; ArgentinaFil: Dalcin, Lisandro Daniel. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Santa Fe. Instituto de Desarrollo Tecnológico Para la Industria Química. Universidad Nacional del Litoral. Instituto de Desarrollo Tecnológico Para la Industria Química; ArgentinaFil: Castro, Hugo Guillermo. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Santa Fe. Instituto de Desarrollo Tecnológico Para la Industria Química. Universidad Nacional del Litoral. Instituto de Desarrollo Tecnológico Para la Industria Química; ArgentinaFil: Kler, Pablo Alejandro. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Santa Fe. Instituto de Desarrollo Tecnológico para la Industria Química. Universidad Nacional del Litoral. Instituto de Desarrollo Tecnológico para la Industria Química; ArgentinaElsevier2012-12info:eu-repo/semantics/articleinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_6501info:ar-repo/semantics/articuloapplication/pdfapplication/pdfapplication/pdfapplication/pdfapplication/pdfapplication/pdfhttp://hdl.handle.net/11336/18805Paz, Rodrigo Rafael; Storti, Mario Alberto; Dalcin, Lisandro Daniel; Castro, Hugo Guillermo; Kler, Pablo Alejandro; FastMat: A C++ library for multi-index array computations; Elsevier; Advances In Engineering Software; 54; 12-2012; 38-480965-9978CONICET DigitalCONICETenginfo:eu-repo/semantics/altIdentifier/doi/10.1016/j.advengsoft.2012.08.005info:eu-repo/semantics/altIdentifier/url/http://www.sciencedirect.com/science/article/pii/S0965997812001159?via%3Dihubinfo:eu-repo/semantics/openAccesshttps://creativecommons.org/licenses/by-nc-sa/2.5/ar/reponame:CONICET Digital (CONICET)instname:Consejo Nacional de Investigaciones Científicas y Técnicas2025-09-03T09:59:29Zoai:ri.conicet.gov.ar:11336/18805instacron:CONICETInstitucionalhttp://ri.conicet.gov.ar/Organismo científico-tecnológicoNo correspondehttp://ri.conicet.gov.ar/oai/requestdasensio@conicet.gov.ar; lcarlino@conicet.gov.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:34982025-09-03 09:59:29.918CONICET Digital (CONICET) - Consejo Nacional de Investigaciones Científicas y Técnicasfalse
dc.title.none.fl_str_mv FastMat: A C++ library for multi-index array computations
title FastMat: A C++ library for multi-index array computations
spellingShingle FastMat: A C++ library for multi-index array computations
Paz, Rodrigo Rafael
Multi-Index Array Library
Finite Element Method
Parallel Computing
title_short FastMat: A C++ library for multi-index array computations
title_full FastMat: A C++ library for multi-index array computations
title_fullStr FastMat: A C++ library for multi-index array computations
title_full_unstemmed FastMat: A C++ library for multi-index array computations
title_sort FastMat: A C++ library for multi-index array computations
dc.creator.none.fl_str_mv Paz, Rodrigo Rafael
Storti, Mario Alberto
Dalcin, Lisandro Daniel
Castro, Hugo Guillermo
Kler, Pablo Alejandro
author Paz, Rodrigo Rafael
author_facet Paz, Rodrigo Rafael
Storti, Mario Alberto
Dalcin, Lisandro Daniel
Castro, Hugo Guillermo
Kler, Pablo Alejandro
author_role author
author2 Storti, Mario Alberto
Dalcin, Lisandro Daniel
Castro, Hugo Guillermo
Kler, Pablo Alejandro
author2_role author
author
author
author
dc.subject.none.fl_str_mv Multi-Index Array Library
Finite Element Method
Parallel Computing
topic Multi-Index Array Library
Finite Element Method
Parallel Computing
purl_subject.fl_str_mv https://purl.org/becyt/ford/1.2
https://purl.org/becyt/ford/1
dc.description.none.fl_txt_mv In this paper we introduce and describe an efficient thread-safe matrix library for computing element/cell residuals and Jacobians in Finite Elements and Finite Volume-like codes. The library provides a wide range of multi-index tensor operations that are normally used in scientific numerical computations. The library implements an algorithm for choosing the optimal computation order when a product of several tensors is performed (i.e., the so-called ?multi-product? operation). Another key-point of the FastMat approach is that some computations (for instance the optimal order in the multi-product operation mentioned before) are computed in the first iteration of the loop body and stored in a cache object, so that in the second and subsequent executions these computations are retrieved from the cache, and then not recomputed. The library is open source and freely available within the multi-physics parallel FEM code PETSc-FEM http://www.cimec.org.ar/petscfem and it can be exploited on distributed and shared memory architectures as well as in hybrid approaches. We studied the performance of the library in the context of typical FEM tensor contractions.
Fil: Paz, Rodrigo Rafael. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Santa Fe. Instituto de Desarrollo Tecnológico Para la Industria Química. Universidad Nacional del Litoral. Instituto de Desarrollo Tecnológico Para la Industria Química; Argentina
Fil: Storti, Mario Alberto. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Santa Fe. Instituto de Desarrollo Tecnológico Para la Industria Química. Universidad Nacional del Litoral. Instituto de Desarrollo Tecnológico Para la Industria Química; Argentina
Fil: Dalcin, Lisandro Daniel. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Santa Fe. Instituto de Desarrollo Tecnológico Para la Industria Química. Universidad Nacional del Litoral. Instituto de Desarrollo Tecnológico Para la Industria Química; Argentina
Fil: Castro, Hugo Guillermo. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Santa Fe. Instituto de Desarrollo Tecnológico Para la Industria Química. Universidad Nacional del Litoral. Instituto de Desarrollo Tecnológico Para la Industria Química; Argentina
Fil: Kler, Pablo Alejandro. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Santa Fe. Instituto de Desarrollo Tecnológico para la Industria Química. Universidad Nacional del Litoral. Instituto de Desarrollo Tecnológico para la Industria Química; Argentina
description In this paper we introduce and describe an efficient thread-safe matrix library for computing element/cell residuals and Jacobians in Finite Elements and Finite Volume-like codes. The library provides a wide range of multi-index tensor operations that are normally used in scientific numerical computations. The library implements an algorithm for choosing the optimal computation order when a product of several tensors is performed (i.e., the so-called ?multi-product? operation). Another key-point of the FastMat approach is that some computations (for instance the optimal order in the multi-product operation mentioned before) are computed in the first iteration of the loop body and stored in a cache object, so that in the second and subsequent executions these computations are retrieved from the cache, and then not recomputed. The library is open source and freely available within the multi-physics parallel FEM code PETSc-FEM http://www.cimec.org.ar/petscfem and it can be exploited on distributed and shared memory architectures as well as in hybrid approaches. We studied the performance of the library in the context of typical FEM tensor contractions.
publishDate 2012
dc.date.none.fl_str_mv 2012-12
dc.type.none.fl_str_mv info:eu-repo/semantics/article
info:eu-repo/semantics/publishedVersion
http://purl.org/coar/resource_type/c_6501
info:ar-repo/semantics/articulo
format article
status_str publishedVersion
dc.identifier.none.fl_str_mv http://hdl.handle.net/11336/18805
Paz, Rodrigo Rafael; Storti, Mario Alberto; Dalcin, Lisandro Daniel; Castro, Hugo Guillermo; Kler, Pablo Alejandro; FastMat: A C++ library for multi-index array computations; Elsevier; Advances In Engineering Software; 54; 12-2012; 38-48
0965-9978
CONICET Digital
CONICET
url http://hdl.handle.net/11336/18805
identifier_str_mv Paz, Rodrigo Rafael; Storti, Mario Alberto; Dalcin, Lisandro Daniel; Castro, Hugo Guillermo; Kler, Pablo Alejandro; FastMat: A C++ library for multi-index array computations; Elsevier; Advances In Engineering Software; 54; 12-2012; 38-48
0965-9978
CONICET Digital
CONICET
dc.language.none.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv info:eu-repo/semantics/altIdentifier/doi/10.1016/j.advengsoft.2012.08.005
info:eu-repo/semantics/altIdentifier/url/http://www.sciencedirect.com/science/article/pii/S0965997812001159?via%3Dihub
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
https://creativecommons.org/licenses/by-nc-sa/2.5/ar/
eu_rights_str_mv openAccess
rights_invalid_str_mv https://creativecommons.org/licenses/by-nc-sa/2.5/ar/
dc.format.none.fl_str_mv application/pdf
application/pdf
application/pdf
application/pdf
application/pdf
application/pdf
dc.publisher.none.fl_str_mv Elsevier
publisher.none.fl_str_mv Elsevier
dc.source.none.fl_str_mv reponame:CONICET Digital (CONICET)
instname:Consejo Nacional de Investigaciones Científicas y Técnicas
reponame_str CONICET Digital (CONICET)
collection CONICET Digital (CONICET)
instname_str Consejo Nacional de Investigaciones Científicas y Técnicas
repository.name.fl_str_mv CONICET Digital (CONICET) - Consejo Nacional de Investigaciones Científicas y Técnicas
repository.mail.fl_str_mv dasensio@conicet.gov.ar; lcarlino@conicet.gov.ar
_version_ 1842269583067578368
score 13.13397