Enabling a Uniform OpenCL Device View for Heterogeneous Platforms

Dafei HUANG  Changqing XUN  Nan WU  Mei WEN  Chunyuan ZHANG  Xing CAI  Qianming YANG  

IEICE TRANSACTIONS on Information and Systems   Vol.E98-D   No.4   pp.812-823
Publication Date: 2015/04/01
Publicized: 2015/01/20
Online ISSN: 1745-1361
DOI: 10.1587/transinf.2014EDP7244
Type of Manuscript: PAPER
Category: Fundamentals of Information Systems
heterogeneous devices,  OpenCL,  virtualized single device,  automated workload distribution,  data transfer minimization,  

Full Text: PDF>>
Buy this Article

Aiming to ease the parallel programming for heterogeneous architectures, we propose and implement a high-level OpenCL runtime that conceptually merges multiple heterogeneous hardware devices into one virtual heterogeneous compute device (VHCD). Moreover, automated workload distribution among the devices is based on offline profiling, together with new programming directives that define the device-independent data access range per work-group. Therefore, an OpenCL program originally written for a single compute device can, after inserting a small number of programming directives, run efficiently on a platform consisting of heterogeneous compute devices. Performance is ensured by introducing the technique of virtual cache management, which minimizes the amount of host-device data transfer. Our new OpenCL runtime is evaluated by a diverse set of OpenCL benchmarks, demonstrating good performance on various configurations of a heterogeneous system.