TY - GEN
T1 - A task parallel implementation of fast multipole methods
AU - Taura, Kenjiro
AU - Nakashima, Jun
AU - Yokota, Rio
AU - Maruyama, Naoya
N1 - KAUST Repository Item: Exported on 2020-10-01
PY - 2012/11
Y1 - 2012/11
N2 - This paper describes a task parallel implementation of ExaFMM, an open source implementation of fast multipole methods (FMM), using a lightweight task parallel library MassiveThreads. Although there have been many attempts on parallelizing FMM, experiences have almost exclusively been limited to formulation based on flat homogeneous parallel loops. FMM in fact contains operations that cannot be readily expressed in such conventional but restrictive models. We show that task parallelism, or parallel recursions in particular, allows us to parallelize all operations of FMM naturally and scalably. Moreover it allows us to parallelize a ''mutual interaction'' for force/potential evaluation, which is roughly twice as efficient as a more conventional, unidirectional force/potential evaluation. The net result is an open source FMM that is clearly among the fastest single node implementations, including those on GPUs; with a million particles on a 32 cores Sandy Bridge 2.20GHz node, it completes a single time step including tree construction and force/potential evaluation in 65 milliseconds. The study clearly showcases both programmability and performance benefits of flexible parallel constructs over more monolithic parallel loops. © 2012 IEEE.
AB - This paper describes a task parallel implementation of ExaFMM, an open source implementation of fast multipole methods (FMM), using a lightweight task parallel library MassiveThreads. Although there have been many attempts on parallelizing FMM, experiences have almost exclusively been limited to formulation based on flat homogeneous parallel loops. FMM in fact contains operations that cannot be readily expressed in such conventional but restrictive models. We show that task parallelism, or parallel recursions in particular, allows us to parallelize all operations of FMM naturally and scalably. Moreover it allows us to parallelize a ''mutual interaction'' for force/potential evaluation, which is roughly twice as efficient as a more conventional, unidirectional force/potential evaluation. The net result is an open source FMM that is clearly among the fastest single node implementations, including those on GPUs; with a million particles on a 32 cores Sandy Bridge 2.20GHz node, it completes a single time step including tree construction and force/potential evaluation in 65 milliseconds. The study clearly showcases both programmability and performance benefits of flexible parallel constructs over more monolithic parallel loops. © 2012 IEEE.
UR - http://hdl.handle.net/10754/564624
UR - http://ieeexplore.ieee.org/document/6495868/
UR - http://www.scopus.com/inward/record.url?scp=84876588120&partnerID=8YFLogxK
U2 - 10.1109/SC.Companion.2012.86
DO - 10.1109/SC.Companion.2012.86
M3 - Conference contribution
SN - 9780769549569
SP - 617
EP - 625
BT - 2012 SC Companion: High Performance Computing, Networking Storage and Analysis
PB - Institute of Electrical and Electronics Engineers (IEEE)
ER -