如何创建CUDA上下文?

时间:2012-05-02 13:54:39

标签: c++ cuda

如何创建CUDA上下文? CUDA的第一次调用很慢,我想在启动内核之前创建上下文。

2 个答案:

答案 0 :(得分:11)

强制运行时API上下文建立的规范方法是调用cudaFree(0)。如果您有多个设备,请使用要在其上建立上下文的设备的ID调用cudaSetDevice(),然后cudaFree(0)建立上下文。

编辑:请注意,从CUDA 5.0开始,似乎上下文建立的启发式略有不同,cudaSetDevice()本身在设备上建立了上下文。因此,不再需要明确的cudaFree(0)调用(尽管它不会伤害任何东西)。

答案 1 :(得分:2)

使用运行时API:cudaDeviceSynchronizecudaDeviceGetLimit或任何实际访问上下文的内容都应该有效。

我很确定你没有使用驱动程序API,因为它没有做那种懒惰的初始化,但是对于其他人的好处,驱动程序调用将是cuCtxCreate