Heterogeneous computing with OpenCL : revised OpenCL 1.2 edition - Benedict R. Gaster (Morgan Kaufmann, 2013)