<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="static/style.xsl"?><OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd"><responseDate>2026-04-14T07:31:51Z</responseDate><request verb="GetRecord" identifier="oai:www.recercat.cat:2117/116807" metadataPrefix="oai_dc">https://recercat.cat/oai/request</request><GetRecord><record><header><identifier>oai:recercat.cat:2117/116807</identifier><datestamp>2026-01-14T06:22:55Z</datestamp><setSpec>com_2072_1033</setSpec><setSpec>col_2072_452950</setSpec></header><metadata><oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:doc="http://www.lyncode.com/xoai" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
   <dc:title>MPI+X: task-based parallelization and dynamic load balance of finite element assembly</dc:title>
   <dc:creator>Garcia-Gasulla, Marta</dc:creator>
   <dc:creator>Houzeaux, Guillaume</dc:creator>
   <dc:creator>Ferrer, Roger</dc:creator>
   <dc:creator>Artigues, Antoni</dc:creator>
   <dc:creator>López, Victor</dc:creator>
   <dc:creator>Labarta Mancho, Jesús José</dc:creator>
   <dc:creator>Vázquez, Mariano</dc:creator>
   <dc:contributor>Barcelona Supercomputing Center</dc:contributor>
   <dc:subject>Àrees temàtiques de la UPC::Informàtica</dc:subject>
   <dc:subject>OpenMP</dc:subject>
   <dc:subject>Finite element code (FE)</dc:subject>
   <dc:subject>OpenMP</dc:subject>
   <dc:subject>OpenMP</dc:subject>
   <dc:description>The main computing tasks of a finite element code(FE) for solving partial differential equations (PDE's)&#xd;
are the algebraic system assembly and the iterative solver. This work focuses on the first task, in the context&#xd;
of a hybrid MPI+X paradigm. Although we will describe algorithms in the FE context, a similar strategy&#xd;
can be straightforwardly applied to other discretization methods, like the finite volume method.&#xd;
The matrix assembly consists of a loop over the elements of the MPI partition to compute element&#xd;
matrices and right-hand sides and their assemblies in the local system to each MPI partition. In a MPI+X&#xd;
hybrid parallelism context, X has consisted traditionally of loop parallelism using OpenMP. Several strate-&#xd;
gies have been proposed in the literature to implement this loop parallelism, like coloring or substructuring&#xd;
techniques to circumvent the race condition that appears when assembling the element system into the local&#xd;
system. The main drawback of the first technique is the decrease of the IPC due to bad spatial locality.&#xd;
The second technique avoids this issue but requires extensive changes in the implementation, which can&#xd;
be cumbersome when several element loops should be treated. We propose an alternative, based on the&#xd;
task parallelism of the element loop using some extensions to the OpenMP programming model. The task-&#xd;
ification of the assembly solves both aforementioned problems. In addition, dynamic load balance will be&#xd;
applied using the DLB library, especially efficient in the presence of hybrid meshes, where the relative costs&#xd;
of the different elements is impossible to estimate a priori. This paper presents the proposed methodology,&#xd;
its implementation and its validation through the solution of large computational mechanics problems up&#xd;
to 16k cores.</dc:description>
   <dc:description>The use of large part of a supercomputer, even more in normal conditions of use, is never an innocuous exercise. The research leading to these results has received funding from: the European Union's Horizon 2020 Programme (2014–2020) and from Brazilian Ministry of Science, Technology and Innovation through Rede Nacional de Pesquisa (RNP), HPC4E Project, grant agreement 689772; the Energy oriented Centre of Excellence (EoCoE), grant agreement number 676629, funded within the Horizon2020 framework of the European Union; The Spanish Government (grant SEV2015-0493 of the Severo Ochoa Program); the Spanish Ministry of Science and Innovation (contract TIN2015-65316-P); the Generalitat de Catalunya (contract 2014-SGR-1051); the Intel-BSC Exascale Lab collaboration project. Comissió Interdepartamental de Recerca i Innovació Tecnológica(Interdepartmental Commission for Research and Technological Innovation)</dc:description>
   <dc:description>Sí</dc:description>
   <dc:description>Post-print (author's final draft)</dc:description>
   <dc:date>2018</dc:date>
   <dc:type>Article</dc:type>
   <dc:identifier>Garcia-Gasulla, M. [et al.]. "MPI+X: task-based parallelization and dynamic load balance of finite element assembly". 2018.</dc:identifier>
   <dc:identifier>1061-8562</dc:identifier>
   <dc:identifier>https://hdl.handle.net/2117/116807</dc:identifier>
   <dc:identifier>10.1080/10618562.2019.1617856</dc:identifier>
   <dc:language>eng</dc:language>
   <dc:relation>https://www.tandfonline.com/doi/full/10.1080/10618562.2019.1617856</dc:relation>
   <dc:relation>info:eu-repo/grantAgreement/EC/H2020/689772/EU/HPC for Energy/HPC4E</dc:relation>
   <dc:relation>info:eu-repo/grantAgreement/EC/H2020/676629/EU/Energy oriented Centre of Excellence for computer applications/EoCoE</dc:relation>
   <dc:relation>info:eu-repo/grantAgreement/MINECO//TIN2015-65316-P/ES/COMPUTACION DE ALTAS PRESTACIONES VII/</dc:relation>
   <dc:rights>Open Access</dc:rights>
   <dc:format>26 p.</dc:format>
   <dc:format>application/pdf</dc:format>
   <dc:publisher>Taylor &amp; Francis</dc:publisher>
</oai_dc:dc></metadata></record></GetRecord></OAI-PMH>