Home > Research > Publications & Outputs > Adaptive optimization for OpenCL programs on em...

Electronic data

  • submitted

    Accepted author manuscript, 2.59 MB, PDF document

    Available under license: CC BY: Creative Commons Attribution 4.0 International License

Links

Text available via DOI:

View graph of relations

Adaptive optimization for OpenCL programs on embedded heterogeneous systems

Research output: Contribution in Book/Report/Proceedings - With ISBN/ISSNConference contribution/Paperpeer-review

Published

Standard

Adaptive optimization for OpenCL programs on embedded heterogeneous systems. / Taylor, Ben; Sanz Marco, Vicent; Wang, Zheng.
LCTES 2017 Proceedings of the 18th ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems. New York: ACM, 2017. p. 11-20.

Research output: Contribution in Book/Report/Proceedings - With ISBN/ISSNConference contribution/Paperpeer-review

Harvard

Taylor, B, Sanz Marco, V & Wang, Z 2017, Adaptive optimization for OpenCL programs on embedded heterogeneous systems. in LCTES 2017 Proceedings of the 18th ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems. ACM, New York, pp. 11-20. https://doi.org/10.1145/3078633.3081040

APA

Taylor, B., Sanz Marco, V., & Wang, Z. (2017). Adaptive optimization for OpenCL programs on embedded heterogeneous systems. In LCTES 2017 Proceedings of the 18th ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems (pp. 11-20). ACM. https://doi.org/10.1145/3078633.3081040

Vancouver

Taylor B, Sanz Marco V, Wang Z. Adaptive optimization for OpenCL programs on embedded heterogeneous systems. In LCTES 2017 Proceedings of the 18th ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems. New York: ACM. 2017. p. 11-20 doi: 10.1145/3078633.3081040

Author

Taylor, Ben ; Sanz Marco, Vicent ; Wang, Zheng. / Adaptive optimization for OpenCL programs on embedded heterogeneous systems. LCTES 2017 Proceedings of the 18th ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems. New York : ACM, 2017. pp. 11-20

Bibtex

@inproceedings{68d573bc6cf2430daa18773097777e26,
title = "Adaptive optimization for OpenCL programs on embedded heterogeneous systems",
abstract = "Heterogeneous multi-core architectures consisting of CPUs and GPUs are commonplace in today{\textquoteright}s embedded systems. These architectures offer potential for energy efficient computing if the application task is mapped to the right core. Realizing such potential is challenging due to the complex and evolving nature of hardware and applications. This paper presents an automatic approach to map OpenCL kernels onto heterogeneous multi-cores for a given optimization criterion – whether it is faster runtime, lower energy consumption or a trade-off between them. This is achieved by developing a machine learning based approach to predict which processor to use to run the OpenCL kernel and the host program, and at what frequency the processor should operate. Instead of hand-tuning a model for each optimization metric, we use machine learning to develop a unified framework that first automatically learns the optimization heuristic for each metric off-line, then uses the learned knowledge to schedule OpenCL kernels at runtime based on code and runtime information of the program. We apply our approach to a set of representative OpenCL benchmarks and evaluate it on an ARM big.LITTLE mobile platform. Our approach achieves over 93% of the performance delivered by a perfect predictor.We obtain, on average, 1.2x, 1.6x, and 1.8x improvement respectively for runtime, energy consumption and the energy delay product when compared to a comparative heterogeneous-aware OpenCL task mapping scheme.",
author = "Ben Taylor and {Sanz Marco}, Vicent and Zheng Wang",
year = "2017",
month = jun,
day = "21",
doi = "10.1145/3078633.3081040",
language = "English",
isbn = "9781450350303",
pages = "11--20",
booktitle = "LCTES 2017 Proceedings of the 18th ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems",
publisher = "ACM",

}

RIS

TY - GEN

T1 - Adaptive optimization for OpenCL programs on embedded heterogeneous systems

AU - Taylor, Ben

AU - Sanz Marco, Vicent

AU - Wang, Zheng

PY - 2017/6/21

Y1 - 2017/6/21

N2 - Heterogeneous multi-core architectures consisting of CPUs and GPUs are commonplace in today’s embedded systems. These architectures offer potential for energy efficient computing if the application task is mapped to the right core. Realizing such potential is challenging due to the complex and evolving nature of hardware and applications. This paper presents an automatic approach to map OpenCL kernels onto heterogeneous multi-cores for a given optimization criterion – whether it is faster runtime, lower energy consumption or a trade-off between them. This is achieved by developing a machine learning based approach to predict which processor to use to run the OpenCL kernel and the host program, and at what frequency the processor should operate. Instead of hand-tuning a model for each optimization metric, we use machine learning to develop a unified framework that first automatically learns the optimization heuristic for each metric off-line, then uses the learned knowledge to schedule OpenCL kernels at runtime based on code and runtime information of the program. We apply our approach to a set of representative OpenCL benchmarks and evaluate it on an ARM big.LITTLE mobile platform. Our approach achieves over 93% of the performance delivered by a perfect predictor.We obtain, on average, 1.2x, 1.6x, and 1.8x improvement respectively for runtime, energy consumption and the energy delay product when compared to a comparative heterogeneous-aware OpenCL task mapping scheme.

AB - Heterogeneous multi-core architectures consisting of CPUs and GPUs are commonplace in today’s embedded systems. These architectures offer potential for energy efficient computing if the application task is mapped to the right core. Realizing such potential is challenging due to the complex and evolving nature of hardware and applications. This paper presents an automatic approach to map OpenCL kernels onto heterogeneous multi-cores for a given optimization criterion – whether it is faster runtime, lower energy consumption or a trade-off between them. This is achieved by developing a machine learning based approach to predict which processor to use to run the OpenCL kernel and the host program, and at what frequency the processor should operate. Instead of hand-tuning a model for each optimization metric, we use machine learning to develop a unified framework that first automatically learns the optimization heuristic for each metric off-line, then uses the learned knowledge to schedule OpenCL kernels at runtime based on code and runtime information of the program. We apply our approach to a set of representative OpenCL benchmarks and evaluate it on an ARM big.LITTLE mobile platform. Our approach achieves over 93% of the performance delivered by a perfect predictor.We obtain, on average, 1.2x, 1.6x, and 1.8x improvement respectively for runtime, energy consumption and the energy delay product when compared to a comparative heterogeneous-aware OpenCL task mapping scheme.

U2 - 10.1145/3078633.3081040

DO - 10.1145/3078633.3081040

M3 - Conference contribution/Paper

SN - 9781450350303

SP - 11

EP - 20

BT - LCTES 2017 Proceedings of the 18th ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems

PB - ACM

CY - New York

ER -