Optimistic Parallelism on GPUs
NEC Laboratories America
27th International Workshop on Languages and Compilers for Parallel Computing, 2014
@article{feng2014optimistic,
title={Optimistic Parallelism on GPUs},
author={Feng, Min and Gupta, Rajiv and Bhuyan, Laxmi N},
year={2014}
}
We present speculative parallelization techniques that can exploit parallelism in loops even in the presence of dynamic irregularities that may give rise to cross-iteration dependences. The execution of a speculatively parallelized loop consists of five phases: scheduling, computation, misspeculation check, result committing, and misspeculation recovery. While the first two phases enable exploitation of data parallelism, the latter three phases represent overhead costs of using speculation. We perform misspeculation check on the GPU to minimize its cost. We perform result committing and misspeculation recovery on the CPU to reduce the result copying and recovery overhead. The scheduling policies are designed to reduce the misspeculation rate. Our programming model provides API for programmers to give hints about potential misspeculations to reduce their detection cost. Our experiments yielded speedups of 3.62x-13.76x on an nVidia Tesla C1060 hosted in an Intel(R) Xeon(R) E5540 machine.
September 2, 2014 by hgpu