Cuda,与卡的第一次连接(失去的时间)

时间:2013-08-20 07:22:26

标签: cuda communication tesla

当我开始我的程序并与我的卡(Tesla K20c)进行通信时,我在代码中第一次拨打卡时丢失了很多时间,我不知道为什么。似乎每当他试图搜索所有可能的牌时。如果我使用cudasetdevice()来定义我的卡,我有同样的问题。

用户时间:1.420

系统时间:4.660

已用时间:6.490

系统时间表示此丢失时间。当我在另一台带有GeForce GTX 560 Ti(功能较弱且较旧的卡)的计算机上运行程序时,您可以看到系统时间正常。

用户时间:1.620

系统时间:0.700

已用时间:3.120

这个问题是程序时间的两倍,我理解为什么。这是我第一次遇到这种卡问题。

是因为卡片太近了而且cuda库还没有优化?

我使用5.0版cuda。

1 个答案:

答案 0 :(得分:2)

这是因为正在加载CUDA驱动程序,并且每次都会创建一个CUDA上下文(所有数据和程序都保存在设备中的环境),这需要大量的簿记。您可以通过以root身份执行以下操作来强制加载驱动程序:

nvidia-smi -pm 1

这将启用所谓的“持久模式”(将其设置为0以禁用)。这将加快您的初始化。