Abstract
The rising pressure for simultaneously improving performance and reducing power is driving more diversity into all aspects of computing devices. An algorithm that is well-matched to the target hardware can run multiple times faster and more energy efficiently than one that is not. The problem is complicated by the fact that a program's input also affects the appropriate choice of algorithm. As a result, software developers have been faced with the challenge of determining the appropriate algorithm for each potential combination of target device and data. This paper presents DySel, a novel runtime system for automating such determination for kernel-based data parallel programming models such as OpenCL, CUDA, OpenACC, and C++AMP. These programming models cover many applications that demand high performance in mobile, cloud and high-performance computing. DySel systematically deploys candidate kernels on a small portion of the actual data to determine which achieves the best performance for the hardware-data combination. The test-deployment, referred to as micro-profiling, contributes to the final execution result and incurs less than 8% of overhead in the worst observed case when compared to an oracle. We show four major use cases where DySel provides significantly more consistent performance without tedious effort from the developer.
| Original language | English (US) |
|---|---|
| Pages (from-to) | 667-680 |
| Number of pages | 14 |
| Journal | ACM SIGPLAN Notices |
| Volume | 51 |
| Issue number | 4 |
| DOIs | |
| State | Published - Apr 2016 |
Keywords
- Dynamic profiling
- Graphics processing unit
ASJC Scopus subject areas
- General Computer Science
Fingerprint
Dive into the research topics of 'DySel: Lightweight dynamic selection for kernel-based data-parallel programming model'. Together they form a unique fingerprint.Cite this
- APA
- Standard
- Harvard
- Vancouver
- Author
- BIBTEX
- RIS