Asynchronous stream only within a context? asynchronous streams and CUcontext

Is is possible for the *Async operations to overlap across different contexts (each context attached to a different host thread)?

I know that I can overlap host to device I/O with kernel execution using streams in the same CUcontext. But what if I have multiple active CUcontexts bound to different host threads? Can I still benefit from stream overlaps across different contexts?

It seems that as long as the contexts are bound to the same physical device, the *Async operations should overlap. Obviously, kernels running on the same device are still serialized. Please correct me if I’m wrong about this.

Thanks.