کد مقاله | کد نشریه | سال انتشار | مقاله انگلیسی | نسخه تمام متن |
---|---|---|---|---|
431784 | 688628 | 2013 | 10 صفحه PDF | دانلود رایگان |

OP2 is an “active” library framework for the solution of unstructured mesh applications. It aims to decouple the specification of a scientific application from its parallel implementation to achieve code longevity and near-optimal performance through re-targeting the back-end to different multi-core/many-core hardware. This paper presents the design of the current OP2 library for generating efficient code targeting contemporary GPU platforms. In this we focus on some of the software architecture design choices and low-level optimizations to maximize performance on NVIDIA’s Fermi architecture GPUs. The performance impact of these design choices is quantified on two NVIDIA GPUs (GTX560Ti, Tesla C2070) using the end-to-end performance of an industrial representative CFD application developed using the OP2 API. Results show that for each system, a number of key configuration parameters need to be set carefully in order to gain good performance. Utilizing a recently developed auto-tuning framework, we explore the effect of these parameters, their limitations and insights into optimizations for improved performance.
► We present the design of the OP2 library for generating efficient code for GPUs.
► The NVIDIA’s Fermi architecture is targeted for architecture specific designs.
► Performance impacts of designs are quantified on two GPUs (GTX560Ti, Tesla C2070).
► End-to-end performance of a industrial-grade CFD application is presented.
► An auto-tuning framework is used to explore the optimum configuration for GPUs.
Journal: Journal of Parallel and Distributed Computing - Volume 73, Issue 11, November 2013, Pages 1451–1460