Performance Analysis and Optimisation of the OP2 Framework on Many-core Architectures
Oxford e-Research Centre, University of Oxford
The Computer Journal, 2011
@article{giles2011performance,
title={Performance Analysis and Optimisation of the OP2 Framework on Many-core Architectures},
author={Giles, MB and Mudalige, GR and Sharif, Z. and Markall, G. and Kelly, PHJ},
journal={The Computer Journal},
year={2011},
publisher={Oxford University Press}
}
This paper presents a benchmarking, performance analysis and optimisation study of the OP2 "active" library, which provides an abstraction framework for the parallel execution of unstructured mesh applications. OP2 aims to decouple the scientific specification of the application from its parallel implementation, and thereby achieve code longevity and near-optimal performance through re-targeting the application to execute on different multi-core/many-core hardware. Runtime performance results are presented for a representative unstructured mesh application on a variety of many-core processor systems, including traditional X86 architectures from Intel (Xeon based on the older Penryn and current Nehalem micro-architectures) and GPU offerings from NVIDIA (GTX260, Tesla C2050). Our analysis demonstrates the contrasting performance between the use of CPU (OpenMP) and GPU (CUDA) parallel implementations for the solution of an industrial sized unstructured mesh consisting of about 1.5 million edges. Results show the significance of choosing the correct partition and thread-block configuration, the factors limiting the GPU performance and insights into optimisations for improved performance.
October 5, 2011 by hgpu