c – 我有两个GPU,我怎么能让一个人做某个CUDA任务?
CUDA的新手,但有一些时间花在计算上,我在家里和特斯拉(同一代)在办公室里进行了锻炼.
在家里我在同一台计算机上安装了两个gpus,一个是GK110(计算能力3.5),另一个是GF110(计算能力2.0),我只使用GK110进行计算任务而GF110用于显示除非我告诉它要做计算,有没有办法通过驱动程序设置这样做,或者我仍然需要重写我的一些代码? 另外,如果我理解正确,如果没有连接GK110的显示端口,那么即使计算时间很长,烦人的窗口超时检测也不会尝试重置它? 顺便说一句,我的CUDA代码都是用compute_35和compute20编译的,所以代码可以在两个GPU上运行,但是我计划使用GK110独有的功能,因此将来的代码根本无法在GF110上运行,操作系统是Windows 7. 解决方法
在Windows上使用GeForce GTX Titan(或任何GeForce产品),我不相信有一种方法可以阻止GPU在WDDM模式下出现在系统中,这意味着Windows将在其上构建显示驱动程序堆栈,甚至如果卡上没有附加物理显示器.所以你可能会陷入Windows TDR机制.您可以尝试使用它来确认. (可以通过注册表黑客修改Windows TDR行为).
关于将CUDA任务转向GTX Titan,显示驱动程序控制面板应具有可选择的设置.它可能位于“管理3D设置”区域或其他某些区域,具体取决于您拥有的驱动程序.当您找到适当的设置区域时,将会有一个名为CUDA的选项 – GPU可能会设置为“全部”.如果将“全局预设”选项更改为“基本配置文件”,则应该能够更改此CUDA-GPU设置.单击它应该为您选择“全部”或每个检??测到的GPU的一组复选框.如果取消选中GF110设备并检查GK110设备,则应根据此复选框选择将未通过cudaSetDevice()选择特定GPU的CUDA程序引导至GK110设备.您可能还需要对此进行试验以确认. 除此之外,如评论中所述,使用编程方法,您始终可以查询设备属性,然后选择将自身报告为cc3.5设备的设备. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |