OpenCL + OpenSHMEM Hybrid Programming Model for the Adapteva Epiphany Architecture
Brown Deer Technology, Forest Hill, MD 21050, USA
arXiv:1608.03549 [cs.DC], (11 Aug 2016)
@article{richie2016opencl,
title={OpenCL + OpenSHMEM Hybrid Programming Model for the Adapteva Epiphany Architecture},
author={Richie, David and Ross, James},
year={2016},
month={aug},
archivePrefix={"arXiv"},
primaryClass={cs.DC}
}
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.
August 16, 2016 by hgpu