Die Bücher kenne ich und sind nicht ganz schlecht:
CUDA by Example: An Introduction to General-Purpose GPU Programming
Programming Massively Parallel Processors
Mit deutscher Literatur sieht es meines Wissens eher schlecht aus. Dafür ist CUDA noch zu jung und/oder unbedeutend. Allerdings gibt es ein paar deutsche Einführungs-Tutorials im Internet. Dafür ist die weiterführende Dokumentation seitens CUDA im Verhältnis spitzen mäßig.
Übrigens, CUDA ist zum Anfang deutlich besser, um GPU-Programmierung zu lernen. Dafür gibt zwei einfache Gründe. Erstens, die Dokumentation ist deutlich besser und zweites mit CUDA kannst du nur GPUs programmieren und mit OpenCL CPU, GPUs, Beschleuniger ect. . Dadurch kommt noch mal deutlich mehr Overhead bei der Geräteverwaltung dazu.
Am ende ist aber der Schritt von CUDA zu OpenCL relativ klein. Das Wichtigste weist du nämlich dann schon.