TREES: A CPU/GPU Task-Parallel Runtime with Explicit Epoch Synchronization
Department of Electrical and Computer Engineering, Duke University
arXiv:1608.00571 [cs.DC], (1 Aug 2016)
@article{hechtman2016trees,
title={TREES: A CPU/GPU Task-Parallel Runtime with Explicit Epoch Synchronization},
author={Hechtman, Blake A. and Hilton, Andrew D. and Sorin, Daniel J.},
year={2016},
month={aug},
archivePrefix={"arXiv"},
primaryClass={cs.DC}
}
We have developed a task-parallel runtime system, called TREES, that is designed for high performance on CPU/GPU platforms. On platforms with multiple CPUs, Cilk’s "work-first" principle underlies how task-parallel applications can achieve performance, but work-first is a poor fit for GPUs. We build upon work-first to create the "work-together" principle that addresses the specific strengths and weaknesses of GPUs. The work-together principle extends work-first by stating that (a) the overhead on the critical path should be paid by the entire system at once and (b) work overheads should be paid co-operatively. We have implemented the TREES runtime in OpenCL, and we experimentally evaluate TREES applications on a CPU/GPU platform.
August 4, 2016 by hgpu