Michael Croucher’s Walking Randomly covers numerical computing for engineers, using tools such as Mathematica and Matlab. However, his series of posts starting with MATLAB GPU / CUDA experiences and tutorials is recommended for any programmer considering GPU parallelism. Michael compares optimized multi-threaded CPU algorithms to massively parallel GPU equivalents when all their extra costs, such as memory transfers, are taken into account – and finds that the actual speedup is sometimes nonexistent, and usually quite modest compared to the extravagant claims of the manufacturers.