@article{8975, keywords = {heterogeneous devices, OpenCL, virtualized single device, automated workload distribution, data transfer minimization}, author = {Dafei Huang and Changqing Xun and Nan Wu and Mei Wen and Chunyuan Zhang and Xing Cai and Qianming Yang}, title = {Enabling a Uniform OpenCL Device View for Heterogeneous Platforms}, abstract = {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.}, year = {2015}, journal = {IEICE Transactions on Information and Systems}, volume = {E98-D}, pages = {812-823}, month = {04/2015}, publisher = {IEICE}, issn = {1745-1361}, doi = {10.1587/transinf.2014EDP7244}, }