我最近在让我的电脑(ivybridge)使用板载gpu(intel igpu HD4000)进行正常屏幕显示时遇到了一些问题,而我在机器上的离散Nvidia GT 640上运行我的CUDA程序进行计算问题是在iGPU显示下,CUDA将无法发现英伟达卡,英伟达驱动程序根本无法加载。
请记住,在为显示设备使用英伟达windows驱动程序时,已确认存在问题(主要是关于并发性),并且还希望使用CUDA当您使用英特尔gpu作为显示器时,这些问题可能会被覆盖(因此仅加载所述Nvidia驱动器的最小部分)并且许多情况下,linux发行版的nvidia驱动程序不存在。
在遇到了很多像virtualmvp这样的糟糕软件的麻烦之后,我发现解决方案非常简单,但却找不到。
我把它贴在这里,希望它能有所帮助。请发表任何评论,使答案更加完整,即使它在某些pc配置中失败,这样我们就可以澄清更广泛场景的说明。
-
你必须为你的集成板载gpu安装驱动程序。这可以通过在使用bios中的iGPU时启动来完成设置,您的电脑将能够加载所需的驱动程序它自己。对于我的Ivy bridge,bios设置如下:
-
在启动时反复按del键进入bios。
-
按F7或用鼠标单击进入高级模式各个选项
-
转到"高级"选项卡的"系统代理",并启用iGPU作为主GPU,然后多监视器支持。
-
-
你用iGPU启动(我的是HD4000),检查是否一切正常,但现在你看到了提到的问题:无法找到/使用CUDA设备(我认为除了特斯拉,因为它们不被视为显示器,因此与此无关)。通常,您可以在设备管理器下找到离散gpu,并从那里手动更新它。然后,CUDA应该能够发现你的gpu。如果不起作用,请继续执行步骤3。
-
您重新启动,再次转到bios,选择PCI-E卡作为主卡,然后启动。您现在应该使用英伟达卡,一切都应该正常,但仍然无法同时使用iGPU和nvidia。使用Nvidia卡时,请转到设备管理器,在显示设备中查找英特尔iGPU,然后执行驱动程序更新这是必要的尽管我们已经让英特尔在之前的步骤中获得了自己的驱动程序。
-
完成后,再次转到引导菜单,将iGPU用作主要功能,将显示器插入其中,现在,当使用它时,CUDA将能够看到NVIDIA卡并在其中执行计算,而显示器使用iGPU,系统保持响应!我认为这也可以用于游戏或其他性能原因,如集成(板载GPU)和离散GPU上的双显示器。