cudaMemcpyAsync Device to Host : Need to synchronize before using data on host


Lets say I have the following

for( i = 0; i < N ; i++ )
checkCudaErrors(cudaMemcpyAsync(host[i], device[i], size_bytes,cudaMemcpyDeviceToHost, stream[i] )

// using host data after this point

Do I need to synchronize ( using cuda events or device synchronize or stream synchronize etc) to make sure the host data is available before using it ?


Thanks txbob