Cross-Platform OpenCL Code and Performance Portability for CPU and GPU Architectures Investigated with a Climate and Weather Physics Model
University of Maryland, Baltimore County
University of Maryland, 2012
@article{dong2012cross,
title={Cross-Platform OpenCL Code and Performance Portability for CPU and GPU Architectures Investigated with a Climate and Weather Physics Model},
author={Dong, Han and Ghosh, Dibyajyoti and Zafar, Fahad and Zhou, Shujia},
year={2012}
}
Current multi- and many-core computing typically involves multi-core Central Processing Units (CPU) and many-core Graphical Processing Units (GPU) whose architectures are distinctly different. To keep longevity of application codes, it is highly desirable to have a programming paradigm to support these current and future architectures. Open Computing Language (OpenCL) is created to address this problem. While the current implementations of OpenCL compiler provide the capability to compile and run on the architectures above, most of the current researches investigate the performance of GPU’s as a compute device. In this paper we will investigate the portability of OpenCL across CPU and GPU architectures in terms of code and performance via a representative climate and weather physics model, NASA’s GEOS-5 solar radiation model, SOLAR. An OpenCL implementation portable between CPU’s and GPU’s has been obtained with significant performance improvement in some CPU’s and GPU’s. We found that OpenCL’s vector-oriented programming paradigm assists compilers with implicit vectorization and consequently significant performance gains were achieved.
May 7, 2012 by hgpu