Cuda Application Design and Development by Rob Farber