Cross-Platform OpenCL Code and Performance Portability Investigated with a Climate and Weather Physics Model

  • Authors:
  • Han Dong;Dibyajyoti Ghosh;Fahad Zafar;Shujia Zhou

  • Affiliations:
  • -;-;-;-

  • Venue:
  • ICPPW '12 Proceedings of the 2012 41st International Conference on Parallel Processing Workshops
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

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 \cite{fahad01} 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.