added some cudaHostAlloc to allow async copies