An investigation of the performance portability of OpenCL

S. J. Pennycook, S. D. Hammond, S. A. Wright, J. A. Herdman, I. Miller, S. A. Jarvis

Research output: Contribution to journalArticlepeer-review

38 Citations (Scopus)


This paper reports on the development of an MPI/OpenCL implementation of LU, an application-level benchmark from the NAS Parallel Benchmark Suite. An account of the design decisions addressed during the development of this code is presented, demonstrating the importance of memory arrangement and work-item/work-group distribution strategies when applications are deployed on different device types. The resulting platform-agnostic, single source application is benchmarked on a number of different architectures, and is shown to be 1.3-1.5× slower than native FORTRAN 77 or CUDA implementations on a single node and 1.3-3.1× slower on multiple nodes. We also explore the potential performance gains of OpenCL's device fissioning capability, demonstrating up to a 3× speed-up over our original OpenCL implementation.

Original languageEnglish
Pages (from-to)1439-1450
Number of pages12
JournalJournal of Parallel and Distributed Computing
Issue number11
Publication statusPublished - 2013


  • GPU computing
  • High performance computing
  • Many-core computing
  • OpenCL
  • Optimisation

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture
  • Computer Networks and Communications
  • Artificial Intelligence


Dive into the research topics of 'An investigation of the performance portability of OpenCL'. Together they form a unique fingerprint.

Cite this