OP2: An active library framework for solving unstructured mesh-based applications on multi-core and many-core architectures
OP2: An active library framework for solving unstructured mesh-based applications on multi-core and many-core architectures
复制标题
OP2:一个主动库框架,用于解决多核和众核架构上的非结构化基于网格的应用程序
DOI:
10.1109/inpar.2012.6339594
复制
发表时间:
2012
期刊:
影响因子:
--
通讯作者:
Mudalige G
中科院分区:
文献类型:
--
作者:
Mudalige G
OP2 is an “active” library framework for the solution of unstructured mesh-based applications. It utilizes source-to-source translation and compilation so that a single application code written using the OP2 API can be transformed into different parallel implementations for execution on different back-end hardware platforms. In this paper we present the design of the current OP2 library, and investigate its capabilities in achieving performance portability, near-optimal performance, and scaling on modern multi-core and many-core processor based systems. A key feature of this work is OP2's recent extension facilitating the development and execution of applications on a distributed memory cluster of GPUs. We discuss the main design issues in parallelizing unstructured mesh based applications on heterogeneous platforms. These include handling data dependencies in accessing indirectly referenced data, the impact of unstructured mesh data layouts (array of structs vs. struct of arrays) and design considerations in generating code for execution on a cluster of GPUs. A representative CFD application written using the OP2 framework is utilized to provide a contrasting benchmarking and performance analysis study on a range of multi-core/many-core systems. These include multi-core CPUs from Intel (Westmere and Sandy Bridge) and AMD (Magny-Cours), GPUs from NVIDIA (GTX560Ti, Tesla C2070), a distributed memory CPU cluster (Cray XE6) and a distributed memory GPU cluster (Tesla C2050 GPUs with InfiniBand). OP2's design choices are explored with quantitative insights into their contributions to performance. We demonstrate that an application written once at a high-level using the OP2 API can be easily portable across a wide range of contrasting platforms and is capable of achieving near-optimal performance without the intervention of the domain application programmer.
登录
查看更多内容
DOI:
10.1007/978-3-642-29737-3_22
发表时间:
2011
期刊:
bioRxiv
影响因子:
--
作者:
C. Bertolli;A. Betts;G. Mudalige;M. Giles;P. Kelly
通讯作者:
P. Kelly
DOI:
10.1016/j.procs.2010.04.203
发表时间:
2010-05
期刊:
--
影响因子:
--
作者:
G. Markall;D. Ham;P. Kelly
通讯作者:
G. Markall;D. Ham;P. Kelly
DOI:
10.1137/070710032
发表时间:
2008
期刊:
SIAM J. Sci. Comput.
影响因子:
--
作者:
Kristian B. Ølgaard;A. Logg;G. N. Wells
通讯作者:
G. N. Wells
影响因子:
3.1
作者:
James R Stewart;H.Carter Edwards
通讯作者:
James R Stewart;H.Carter Edwards
DOI:
10.1007/978-3-642-23397-5_18
发表时间:
2011
期刊:
SIGMETRICS Perform. Evaluation Rev.
影响因子:
--
作者:
J. Jägersküpper;C. Simmendinger
通讯作者:
C. Simmendinger