Smart multi-task scheduling for OpenCL programs on CPU/GPU heterogeneous platforms

Yuan Wen, Zheng Wang, M.F.P. O'Boyle

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Heterogeneous systems consisting of multiple CPUs and GPUs are increasingly attractive as platforms for high performance computing. Such platforms are usually programmed using OpenCL which provides program portability by allowing the same program to execute on different types of device. As such systems become more mainstream, they will move from application dedicated devices to platforms that need to support multiple concurrent user applications. Here there is a need to determine when and where to map different applications so as to best utilize the available heterogeneous hardware resources. In this paper, we present an efficient OpenCL task scheduling scheme which schedules multiple kernels from multiple programs on CPU/GPU heterogeneous platforms. It does this by determining at runtime which kernels are likely to best utilize a device. We show that speedup is a good scheduling priority function and develop a novel model that predicts a kernel's speedup based on its static code structure. Our scheduler uses this prediction and runtime input data size to prioritize and schedule tasks. This technique is applied to a large set of concurrent OpenCL kernels. We evaluated our approach for system throughput and average turn-around time against competitive techniques on two different platforms: a Core i7/Nvidia GTX590 and a Core i7/AMD Tahiti 7970 platforms. For system throughput, we achieve, on average, a 1.21x and 1.25x improvement over the best competitors on the NVIDIA and AMD platforms respectively. Our approach reduces the turnaround time, on average, by at least 1.5x and 1.2x on the NVIDIA and AMD platforms respectively, when compared to alternative approaches.
Original languageEnglish
Title of host publicationHigh Performance Computing (HiPC), 2014 21st International Conference on
PublisherInstitute of Electrical and Electronics Engineers
Pages1-10
Number of pages10
ISBN (Print)978-1-4799-5975-4
DOIs
Publication statusPublished - Dec 2014

Keywords / Materials (for Non-textual outputs)

  • concurrency (computers)
  • graphics processing units
  • multiprocessing programs
  • parallel processing
  • scheduling
  • CPU-GPU heterogeneous platforms
  • Core i7-AMD Tahiti 7970 platform
  • Core i7-Nvidia GTX590 platform
  • OpenCL programs
  • OpenCL task scheduling scheme
  • concurrent OpenCL kernels
  • heterogeneous hardware resources
  • high performance computing
  • kernel speedup
  • scheduling priority function
  • smart multitask scheduling
  • static code structure
  • Feature extraction
  • Graphics processing units
  • Kernel
  • Runtime
  • Schedules
  • Throughput
  • Training
  • GPU
  • OpenCL
  • machine learning
  • task scheduling

Fingerprint

Dive into the research topics of 'Smart multi-task scheduling for OpenCL programs on CPU/GPU heterogeneous platforms'. Together they form a unique fingerprint.

Cite this