CUDA programming: a developer's guide to parallel computing with GPUs - Cook, Shane (Elsevier, 2013)