Journal article
Analyzing Use of OpenCL on the Cell Broadband Engine and a Proposal for OpenCL Extensions



Publication Details
Authors:
Breitbart, J.; Fohry, C.
Publisher:
Hiroshima University
Publication year:
2011
Journal:
International Journal of Networking and Computing
Pages range:
114-130
Journal acronym:
IJNC
Volume number:
1
Issue number:
1
ISSN:
2185-2839
eISSN:
2185-2847

Abstract


Current processor architectures are diverse and heterogeneous. Examples include multicore chips, GPUs and the Cell Broadband Engine (CBE). The recent Open Compute Language (OpenCL) standard aims at efficiency and portability. This paper explores its efficiency when implemented on the CBE, without using CBE-specific features such as explicit asynchronous memory transfers. We based our experiments on two applications: matrix multiplication, and the client side of the Einstein@Home distributed computing project. Both were programmed in OpenCL, and then translated to the CBE. For matrix multiplication, we deployed different levels of OpenCL performance optimization, and observed that they pay off on the CBE. For Einstein@Home, our translated OpenCL version achieves almost the same speed as a native CBE version. We experimented with two versions of the OpenCL to CBE mapping, in which the PPE component of the CBE does or does not take the role of a compute unit.



Another major contribution of the paper is a proposal for two OpenCL extensions that we analyzed for both CBE and NVIDIA GPUs. First, we suggest an additional memory level in OpenCL, called static local memory. With little programming expense, it can lead to significant speedups such as for reduction a factor of seven on the CBE and about 20% on NVIDIA GPUs. Second, we introduce static work-groups to support user-defined mappings of tasks. Static work-groups may simplify programming and lead to speedups of 35% (CBE) and 100% (GPU) for all-parallel-prefix-sums.




 




Keywords
Cell Broadband Engine Architecture, GPU, OpenCL extensions, programming model evaluation


Research Areas


Last updated on 2019-25-07 at 16:24

Share link