PARALLELIZATION OF ASSEMBLY OPERATION IN FINITE ELEMENT METHOD

The efficient codes can take an advantage of multiple threads and/or processing nodes to partition a work that can be processed concurrently. This can reduce the overall run-time or make the solution of a large problem feasible. This paper deals with evaluation of different parallelization strategie...

Full description

Bibliographic Details
Main Authors: Michal Bošanský, Bořek Patzák
Format: Article
Language:English
Published: CTU Central Library 2020-03-01
Series:Acta Polytechnica
Subjects:
Online Access:https://ojs.cvut.cz/ojs/index.php/ap/article/view/5532
id doaj-f114cb7adbf74e2d9357d73b7a764af3
record_format Article
spelling doaj-f114cb7adbf74e2d9357d73b7a764af32020-11-24T21:45:14ZengCTU Central LibraryActa Polytechnica1210-27091805-23632020-03-01601253710.14311/AP.2020.60.00254926PARALLELIZATION OF ASSEMBLY OPERATION IN FINITE ELEMENT METHODMichal Bošanský0Bořek Patzák1Czech Technical University in Prague, Faculty of Civil Engineering, Thákurova 7, 166 29 Prague 6, Czech RepublicCzech Technical University in Prague, Faculty of Civil Engineering, Thákurova 7, 166 29 Prague 6, Czech RepublicThe efficient codes can take an advantage of multiple threads and/or processing nodes to partition a work that can be processed concurrently. This can reduce the overall run-time or make the solution of a large problem feasible. This paper deals with evaluation of different parallelization strategies of assembly operations for global vectors and matrices, which are one of the critical operations in any finite element software. Different assembly strategies for systems with a shared memory model are proposed and evaluated, using Open Multi-Processing (OpenMP), Portable Operating System Interface (POSIX), and C++11 Threads. The considered strategies are based on simple synchronization directives, various block locking algorithms and, finally, on smart locking free processing based on a colouring algorithm. The different strategies were implemented in a free finite element code with object-oriented architecture OOFEM [1].https://ojs.cvut.cz/ojs/index.php/ap/article/view/5532parallel computation, shared memory, finite element method, vector assembly, matrix assembly.
collection DOAJ
language English
format Article
sources DOAJ
author Michal Bošanský
Bořek Patzák
spellingShingle Michal Bošanský
Bořek Patzák
PARALLELIZATION OF ASSEMBLY OPERATION IN FINITE ELEMENT METHOD
Acta Polytechnica
parallel computation, shared memory, finite element method, vector assembly, matrix assembly.
author_facet Michal Bošanský
Bořek Patzák
author_sort Michal Bošanský
title PARALLELIZATION OF ASSEMBLY OPERATION IN FINITE ELEMENT METHOD
title_short PARALLELIZATION OF ASSEMBLY OPERATION IN FINITE ELEMENT METHOD
title_full PARALLELIZATION OF ASSEMBLY OPERATION IN FINITE ELEMENT METHOD
title_fullStr PARALLELIZATION OF ASSEMBLY OPERATION IN FINITE ELEMENT METHOD
title_full_unstemmed PARALLELIZATION OF ASSEMBLY OPERATION IN FINITE ELEMENT METHOD
title_sort parallelization of assembly operation in finite element method
publisher CTU Central Library
series Acta Polytechnica
issn 1210-2709
1805-2363
publishDate 2020-03-01
description The efficient codes can take an advantage of multiple threads and/or processing nodes to partition a work that can be processed concurrently. This can reduce the overall run-time or make the solution of a large problem feasible. This paper deals with evaluation of different parallelization strategies of assembly operations for global vectors and matrices, which are one of the critical operations in any finite element software. Different assembly strategies for systems with a shared memory model are proposed and evaluated, using Open Multi-Processing (OpenMP), Portable Operating System Interface (POSIX), and C++11 Threads. The considered strategies are based on simple synchronization directives, various block locking algorithms and, finally, on smart locking free processing based on a colouring algorithm. The different strategies were implemented in a free finite element code with object-oriented architecture OOFEM [1].
topic parallel computation, shared memory, finite element method, vector assembly, matrix assembly.
url https://ojs.cvut.cz/ojs/index.php/ap/article/view/5532
work_keys_str_mv AT michalbosansky parallelizationofassemblyoperationinfiniteelementmethod
AT borekpatzak parallelizationofassemblyoperationinfiniteelementmethod
_version_ 1725905732446978048