在CUDA 10.0中,应用程序调用cudaMallocHost时,libcudart.so中的cudaHostAlloc会被调用,是因为cudaMallocHost和cudaHostAlloc都是用于在主机上分配内存的CUDA API函数。但是,它们的实现方式略有不同。

cudaMallocHost是在主机上分配可访问GPU的内存,它返回的指针可以在主机和设备之间传递,并且可以通过CUDA API调用在GPU上使用。而cudaHostAlloc是在主机上分配可访问CPU的内存,它返回的指针只能在主机上使用。

在CUDA 10.0中,为了兼容之前的版本,cudaMallocHost在内部使用cudaHostAlloc来实现。这意味着,当应用程序调用cudaMallocHost时,libcudart.so中的cudaHostAlloc会被调用。

cuda 100中为什么应用调用api cudaMallocHost时libcudartso中的cudaHostAlloc会被调用

原文地址: https://www.cveoy.top/t/topic/eEWg 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录