A Framework for OpenCL Task Scheduling on Heterogeneous Multicores

被引:6
作者
Ghose A. [1 ]
Dokara L. [1 ]
Dey S. [1 ]
Mitra P. [1 ]
机构
[1] Indian Institute of Technology, Kharagpur
关键词
multicore scheduling; OpenCL framework; program partitioning; static program analysis; supervised learning;
D O I
10.1142/S0129626417500086
中图分类号
学科分类号
摘要
We present an intelligent scheduling framework which takes as input a set of OpenCL kernels and distributes the workload across multiple CPUs and GPUs in a heterogeneous multicore platform. The framework relies on a Machine Learning (ML) based frontend that analyzes static program features of OpenCL kernels and predicts the ratio in which kernels are to be distributed across CPUs and GPUs. The framework provides such static analysis information along with system state information like runtime availability details of computing cores using well defined programming interfaces. Such interfaces are to be utilized by a user specified scheduling strategy. Given such a scheduling strategy, the framework generates device specific binaries and dispatches them across multiple devices in the heterogeneous platform as per the strategy. We test our scheduling framework extensively using different OpenCL task mixes of varying sizes and computational nature. Along with the scheduling framework, we propose a set of novel partition-aware scheduling strategies for heterogeneous multicores. Our proposed approach yields considerably better results in terms of schedule makespan when compared with the current state of the art ML based methods for scheduling of OpenCL workloads across heterogeneous multicores. © 2017 World Scientific Publishing Company.
引用
收藏
页码:3 / 4
相关论文
共 30 条
[1]  
Stone J.E., Gohara D., Shi G., OpenCL: A parallel programming standard for heterogeneous computing systems, CS&E, 12, 3, pp. 66-73, (2010)
[2]  
Grewe D., O'Boyle M.F.P., A static task partitioning approach for heterogeneous systems using OpenCL, CC, pp. 286-305, (2011)
[3]  
Grewe D., Wang Z., O'Boyle M.F.P., OpenCL task partitioning in the presence of GPU contention, LCPC, pp. 87-101, (2011)
[4]  
Ghose A., Dey S., Mitra P., Chaudhuri M., Divergence aware automated partitioning of OpenCL workloads, ISEC, pp. 131-135, (2016)
[5]  
Koer K., Grasso I., Cosenza B., Fahringer T., An automatic input-sensitive approach for heterogeneous task partitioning, ICS, pp. 149-160, (2013)
[6]  
Pandit P., Govindarajan R., Fluidic kernels: Cooperative execution of opencl programs on multiple heterogeneous devices, CGO, (2014)
[7]  
Wen Y., Wang Z., O'Boyle M.F.P., Smart multi-task scheduling for opencl programs on CPU/GPU heterogeneous platforms, HIPC, (2014)
[8]  
Augonnet C., Thibault S., Namyst R., Wacrenier P., StarPU: A unified platform for task scheduling on heterogeneous multicore architectures, CC-PE, 23, 2, pp. 187-198, (2011)
[9]  
Hugo A., Guermouche A., Wacrenier P., Namyst R., Composing multiple starpu applications over heterogeneous machines: A supervised approach, IJHPCA, 28, 3, pp. 285-300, (2014)
[10]  
Barbosa J.G., Moreira B., Dynamic scheduling of a batch of parallel task jobs on heterogeneous clusters, Parallel Computing, 37, 8, pp. 428-438, (2011)