Will a call to a synchronous cuda function (e.g. cudaMalloc(), cudaBindTextureToArray(), etc.) block the host until all preceding requested tasks on the device have completed? Or will it block only until the call to that synchronous function has completed?
In other words does a call to a synchronous cuda function have the same effect as cudaDeviceSynchronize()?