CUDA Programming: A Developer’s Guide to Parallel