cudaMemcpy freezes in emulator mode

Hi I have a couple of questions:

  1. I am copying an array of floats from the host to the device. In the normal mode (no emulator) works fine. But I have problems in emulator mode. For some sizes of the array the copy goes without problem, but after some size cudaMemcpy freezes. cudaGetLastError (which is the next line) is not even executed. I have cudaMemcpys all around my program, so I don’t understand why this one fails in emulator mode. I have 6GB or RAM in the host, but just 1GB is used while I ran the program.

  2. What is cudaSafeCall() for?