(CUDA) Access Speed: Global Memory vs Host Memory?
===

I read from ***CUDA by Example***, chapter 9.4, that when using atomic operations on GPU global memory improperly, performance of the program may be worse than that when executed purely on CPU, because of the memory access contention.

In the worse case, the program executed on GPU is highly serialized and no threads executes parallelly, which is just the way a single-threaded program run on the CPU. So the key problem is how fast the program accesses the memory.

Considering the example in the book I mentioned, it seems that CPU accesses host memory faster than GPU access global memory on device. 

Is that so? Or there're any other factors that influence the performance of the program under the circumstance I just described?