Title :
Cross-Platform OpenCL Code and Performance Portability Investigated with a Climate and Weather Physics Model
Author :
Dong, Han ; Ghosh, Dibyajyoti ; Zafar, Fahad ; Zhou, Shujia
Author_Institution :
Comput. Sci. & Electr. Eng. Dept., Univ. of Maryland Baltimore County, Baltimore, MD, USA
Abstract :
Current generation of multicore computing platforms are vastly different. Sustenance of many core applications across heterogenous platforms is a daunting task, more so when dynamic nature of the application is factored in. Open Computing Language (OpenCL) was created to address this issue. Designed to run on CPUs, GPUs, FPGAs and other platforms. OpenCL is becoming a standard for cross-platform parallel programming. While current implementations of OpenCL compiler provide the capability to compile and run on the platforms mentioned above, most of the current literatures investigate the OpenCL performance on GPUs. In a previous work, Fahad et al [1] reported how low level implicit auto vectorization capability of OpenCL allows remarkable performance optimization on CPUs. In this paper we present our investigation results on OpenCL portability across CPU and GPU platforms in terms of code and performance via a representative climate and weather physics model, NASA´s GEOS-5 solar radiation model (SOLAR). A single OpenCL implementation portable between CPUs and GPUs has been obtained. Through algorithm refactoring, OpenCL´s vector-oriented programming paradigm and implicit vectorization led to significant performance gains.
Keywords :
climatology; geophysics computing; graphics processing units; meteorology; multiprocessing systems; parallel programming; program compilers; solar radiation; specification languages; CPU; GPU; NASA GEOS-5 solar radiation model; Open Computing Language; OpenCL compiler; OpenCL performance; OpenCL portability; SOLAR; climate; core application; cross-platform OpenCL code; cross-platform parallel programming; heterogenous platform; multicore computing platform; performance optimization; performance portability; vector-oriented programming; vectorization; weather physics model; Arrays; Computational modeling; Graphics processing unit; Instruction sets; Kernel; Meteorology; Optimization; Multi-threaded environments; OpenCL; Parallel Applications; Vectorization;
Conference_Titel :
Parallel Processing Workshops (ICPPW), 2012 41st International Conference on
Conference_Location :
Pittsburgh, PA
Print_ISBN :
978-1-4673-2509-7
DOI :
10.1109/ICPPW.2012.19