PARALLELIZATION OF ASSEMBLY OPERATION IN FINITE ELEMENT METHOD
Type of document
articlePeer-reviewed
publishedVersion
Author
Bošanský , Michal
Patzák , Bořek
Rights
Creative Commons Attribution 4.0 International Licensehttp://creativecommons.org/licenses/by/4.0/
openAccess
Metadata
Show full item recordAbstract
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].
Collections
The following license files are associated with this item:
Except where otherwise noted, this item's license is described as Creative Commons Attribution 4.0 International License