Maestro: Data Orchestration and Tuning for OpenCL Devices
Oak Ridge National Laboratory
EURO-PAR 2010 – Parallel Processing, Lecture Notes in Computer Science, 2010, Volume 6272/2010, 275-286
@article{spafford2010maestro,
title={Maestro: data orchestration and tuning for OpenCL devices},
author={Spafford, K. and Meredith, J. and Vetter, J.},
journal={Euro-Par 2010-Parallel Processing},
pages={275–286},
year={2010},
publisher={Springer}
}
As heterogeneous computing platforms become more prevalent, the programmer must account for complex memory hierarchies in addition to the difficulties of parallel programming. OpenCL is an open standard for parallel computing that helps alleviate this difficulty by providing a portable set of abstractions for device memory hierarchies. However, OpenCL requires that the programmer explicitly controls data transfer and device synchronization, two tedious and error-prone tasks. This paper introduces Maestro, an open source library for data orchestration on OpenCL devices. Maestro provides automatic data transfer, task decomposition across multiple devices, and autotuning of dynamic execution parameters for some types of problems.
August 18, 2011 by hgpu