Massively Parallel Processors: A Hands-on Approach is not really good in my opinion, many small mistakes and confusing sentences (even when you know cuda).
CUDA by Example: An Introduction to General-Purpose GPU Programming is too simple and abstract too much the architecture.
Next year I'm planning to start writing a cuda book that starts by engineering the hardware, and goes up to the optimization part on that harware (which is basically a nvidia card) including all the main algorithms (except for graphs).
I'm already teaching the course in this way at uni, and it is quite successful among students.
What makes CUDA Programming: A Developer's Guide to Parallel Computing with GPUs better among its peers?
I always appreciate book lists like this one, but having a small targeted list is more practical for those of us with limited reading time.
So tl;dr, you have at least one person who would pay for a better book :-)
Understand everything he talks about and you understand CUDA.
In this day and age when programming is so accessible, why not have a more tempting pitch than just book titles categorized by difficulty.
I started learning about GPU and CUDA from this book recently, and I agree the writing is confusing, and code examples have errors. However, it is still a nice reference about many types of algorithms for heterogeneous memory devices, it helped me understand better some patterns for CPUs.