Searching some infos on cudaStreams

Hi,

I’m reading the doc’ (CUDA C Best Practice Guide) on cudaStream and I have a question : “In contrast with cudaMemcpy(), the asynchronous transfer version requires pinned host memory …” (p. 20) ==> A colleague uses asynchronous transfer without pinned host memory and it works. Is it normal ?

Thanks for your help.

Hi,

I’m reading the doc’ (CUDA C Best Practice Guide) on cudaStream and I have a question : “In contrast with cudaMemcpy(), the asynchronous transfer version requires pinned host memory …” (p. 20) ==> A colleague uses asynchronous transfer without pinned host memory and it works. Is it normal ?

Thanks for your help.

Do you have any info about the size of the data that your colleague uses? I know that if you are transferring a small amount of data it’ll be done asynchronously as a smart compiler enhancement; This means even if it is not in pinned memory it will be transferred asynchronously.

Do you have any info about the size of the data that your colleague uses? I know that if you are transferring a small amount of data it’ll be done asynchronously as a smart compiler enhancement; This means even if it is not in pinned memory it will be transferred asynchronously.

Thanks for your help, I’m going to discuss it with him :-)

Thanks for your help, I’m going to discuss it with him :-)

I believe in previous CUDA versions (2.x days) this transfer would fail with an error. Now, as far as I can tell, it’ll automatically fall back to a synchronous transfer.