混合图形CUDA首发

时间:2014-02-26 14:26:11

标签: cuda gpu-programming

我有一台混合图形笔记本电脑,我使用的是Windows 7,我打算运行一个包含 cuda 的C ++代码,当时它是GPU&#39 ;转而启动,我的nvidia GPU需要几秒钟才能启动,而且我想再花一些时间来预热,有没有办法在运行代码后启动GPU(例如在第一行 main()功能)?

先谢谢。

2 个答案:

答案 0 :(得分:3)

我提出了一个更好的选择。由于您使用的是Windows,您是否考虑过强制程序从NVIDIA GPU开始?如果您使用的是NVIDIA Optimus(没有物理开关的笔记本电脑用于切换图形卡),请尝试以下操作:

右键单击使用CUDA的程序,在上下文菜单中,有一个名为"Run with graphics processor"的选项,然后选择"High-performance NVIDIA processor"。 请注意,如果您使用的是Visual Studio,则可以使用此方法启动Visual Studio。这样,程序将无法看到您的非CUDA卡: - )

根据我的经验,如果您尝试进行CUDA / OpenGL互操作,如果没有这种方法,您将遇到问题。有时为您的非NVIDIA卡创建OpenGL上下文,并在NVIDIA卡上创建CUDA上下文,从而导致奇怪的错误。

答案 1 :(得分:1)

尝试输入:

cudaSetDevice(0);

作为main函数的第一行。或者您也可以尝试使用:

cudaFree(0);