The natural way to start with CUDA if you plan to be self taught is:
-
CUDA by Example: An Introduction to General-Purpose GPU Programming by Jason Sanders and Edward Kandrot Nice introduction. It is more like playing with your GPU and admire its capabilities.
-
Programming Massively Parallel Processors, Second Edition: A Hands-on Approach by David B. Kirk and Wen-mei W. Hwu It explains a lot of things in GPU Programming. You simply can't go without it.