什么是TCC driver mode呢

Devices of compute capability 2.x support a special addressing mode called Unified Virtual Addressing (UVA) on 64-bit Linux, MacOS, and Windows XP and on Windows Vista/7 when using TCC driver mode.

这段话中提到了TCC driver mode,什么是TCC driver mode呢?

似乎是windows OS下的一种非WDDM的驱动类型。

而普通的驱动受到WDDM(Windows Dispaly Driver Model)模型的限制,以及在固定的模型下,可能不利于编写驱动来发挥卡的全部优势。所以弄了一个TCC Driver.

举个例子:传统的WDDM驱动会受到TDR的超时检测。
在举个例子:在windows vista/7下,WDDM会受到Session 0的隔离。

第一个例子WDDM可能会让你的kernel不利于运行较长。
第二个例子WDDM可能会让终端服务(远程桌面)和MPI的服务被Session 0和显卡隔离,无法在Session 0里使用GPU.

而TCC不是WDDM驱动。无视了这2个例子。

另外,那个TCC driver只能给telsa卡用,geforce是用不了的。

好的。其实我在win7系统下,GTX 580的显卡运行10000*10000维的矩阵相乘时,已经发现了WDDM的问题,它会使显卡驱动重启,屏幕闪一下然后驱动恢复正常。好像GPU的运行时间不能超过2秒,网上说可以修改注册表,但是我想如果我的矩阵足够大,GPU实际运行的时间可能会超过win7允许运行的最大时间,那么该怎么办呢?

“我的矩阵足够大,GPU实际运行的时间可能会超过win7允许运行的最大时间,那么该怎么办呢?”
–楼主你可以改注册表的。别忘记改完重启一次。

此外。我还建议你用一个简便的方法,安装nsight.
安装完nsight后,可以从开始菜单里找到nsight monitor, 然后等几秒,在系统的通知区域,也就是屏幕的右下角,右键点击nsight monitor图标,从options里将TDR Enable改成false即可。

这样就不会有超时了,你的大矩阵也可以了。
此外,你还收获了nsight. 可顺手用来做profiling和debugging.

祝楼主安装,设置顺利。