如何创建 CUDA 上下文?CUDA 的第一次调用很慢,我想在启动内核之前创建上下文。
问问题
6715 次
2 回答
12
强制运行时 API 上下文建立的规范方法是调用cudaFree(0)
. 如果您有多个设备,请cudaSetDevice()
使用要在其上建立上下文的设备的 ID 调用,然后cudaFree(0)
建立上下文。
编辑:请注意,从 CUDA 5.0 开始,上下文建立的启发式方法似乎略有不同,并且cudaSetDevice()
它本身会在设备上建立上下文。所以cudaFree(0)
不再需要显式调用(尽管它不会伤害任何东西)。
于 2012-05-02T14:37:07.873 回答
2
使用运行时 API: cudaDeviceSynchronize
、cudaDeviceGetLimit
或任何实际访问上下文的东西都应该可以工作。
我很确定您没有使用驱动程序 API,因为它不会进行那种延迟初始化,但为了其他人的利益,驱动程序调用将是cuCtxCreate
.
于 2012-05-02T14:00:39.840 回答