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.