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...
Main Authors: | , |
---|---|
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 |