An Introduction to GPU Programming in Julia
It doesn't really describe the fundamental difference between a GPU and a 4000-core CPU, which is that the GPU has a <i>shared program counter</i>. All the cores must execute the same instruction at each cycle.