Acieving efficient strong scaling with PETSc using hybrid MPI/OpenMP optimisations
File(s)1303.5275v1.pdf (332.06 KB)
Accepted version
Author(s)
Lange, M
Gorman, G
Weiland, M
Mitchell, L
Southern, J
Type
Conference Paper
Abstract
The increasing number of processing elements and decreasing memory to core ratio in modern high-performance platforms makes efficient strong scaling a key requirement for numerical algorithms. In order to achieve efficient scalability on massively parallel systems scientific software must evolve across the entire stack to exploit the multiple levels of parallelism exposed in modern architectures. In this paper we demonstrate the use of hybrid MPI/OpenMP parallelisation to optimise parallel sparse matrix-vector multiplication in PETSc, a widely used scientific library for the scalable solution of partial differential equations. Using large matrices generated by Fluidity, an open source CFD application code which uses PETSc as its linear solver engine, we evaluate the effect of explicit communication overlap using task-based parallelism and show how to further improve performance by explicitly load balancing threads within MPI processes. We demonstrate a significant speedup over the pure-MPI mode and efficient strong scaling of sparse matrix-vector multiplication on Fujitsu PRIMEHPC FX10 and Cray XE6 systems. © 2013 Springer-Verlag.
Editor(s)
Kunkel, J
Ludwig, T
Meuer, H
Date Issued
2013
Citation
Lecture Notes in Computer Science, 2013, pp.97-108
ISBN
978-3-642-38749-4
ISSN
0302-9743
Publisher
Springer Berlin Heidelberg
Start Page
97
End Page
108
Journal / Book Title
Lecture Notes in Computer Science
Volume
7905
Copyright Statement
© 2013 Springer-Verlag Berlin Heidelberg. The final publication is available at Springer via http://dx.doi.org/10.1007/978-3-642-38750-0_8
Description
22.04.15 KB. Ok to add accepted version to spiral, 12 month embargo period expired
Identifier
http://dx.doi.org/10.1007/978-3-642-38750-0_8
Subjects
PETSc
Hybrid MPI/OpenMP
strong scaling
task-based parallelism
hierarchical load balancing
sparse matrix-vector multiply
Notes
To appear in ICS13, Lecture Notes in Computer Science