繁体   English   中英

我有两个GPU,我怎么能让一个人做某个CUDA任务?

[英]I have two GPUs, how can I just let one to do certain CUDA task?

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设备的设备。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM