Are the 2 vars declared in the same .cu file where the kernel is defined?
How are you reading constant memory in the kernel?
Have you tested to switch the two cudaMemcpyToSymbol calls? Just to know if the empty vector is the first or dev_array_dst is always empty and the other is filled.
I don’t know what may be happening… :S
Is there any other global memory allocation, memcopy which can be interfering or overwriting some host/device memory? I guess you are tested that host_orig_dst has been filled correctly before calling MemCopyToSymbol… So, I’m afraid I can’t help you. Maybe you can post some more code to allow as to try to figure out the problem.