English

OpenCL + OpenSHMEM Hybrid Programming Model for the Adapteva Epiphany Architecture

Distributed, Parallel, and Cluster Computing 2017-01-18 v1

Abstract

There is interest in exploring hybrid OpenSHMEM + X programming models to extend the applicability of the OpenSHMEM interface to more hardware architectures. We present a hybrid OpenCL + OpenSHMEM programming model for device-level programming for architectures like the Adapteva Epiphany many-core RISC array processor. The Epiphany architecture comprises a 2D array of low-power RISC cores with minimal uncore functionality connected by a 2D mesh Network-on-Chip (NoC). The Epiphany architecture offers high computational energy efficiency for integer and floating point calculations as well as parallel scalability. The Epiphany-III is available as a coprocessor in platforms that also utilize an ARM CPU host. OpenCL provides good functionality for supporting a co-design programming model in which the host CPU offloads parallel work to a coprocessor. However, the OpenCL memory model is inconsistent with the Epiphany memory architecture and lacks support for inter-core communication. We propose a hybrid programming model in which OpenSHMEM provides a better solution by replacing the non-standard OpenCL extensions introduced to achieve high performance with the Epiphany architecture. We demonstrate the proposed programming model for matrix-matrix multiplication based on Cannon's algorithm showing that the hybrid model addresses the deficiencies of using OpenCL alone to achieve good benchmark performance.

Keywords

Cite

@article{arxiv.1608.03549,
  title  = {OpenCL + OpenSHMEM Hybrid Programming Model for the Adapteva Epiphany Architecture},
  author = {David Richie and James Ross},
  journal= {arXiv preprint arXiv:1608.03549},
  year   = {2017}
}

Comments

12 pages, 5 figures, OpenSHMEM 2016: Third workshop on OpenSHMEM and Related Technologies

R2 v1 2026-06-22T15:17:51.455Z