CUDA by Example: An Introduction to General-Purpose GPU Programming - Sanders, Jason; Kandrot, Edward