lee-romantic 's Blog
Learning is a journey, not a destination.
Toggle navigation
lee-romantic 's Blog
主页
About Me
归档
标签
OpenGL和CUDA互操作时遇到的显卡驱动问题
2025-11-12 12:35:09
2
0
0
lee-romantic
# 问题 - 在brondon换到新的电脑上时,OpenGL和CUDA互操作时注册PBO为cuda资源时老是出错。 - 代码执行到cudaGraphicsGLRegisterBuffer()函数会出错,CUDA的API接口会抛出一个错误代码999,这表示是未知的错误。 - 为了测试这个问题,可以使用一个最小的工程测试(通过DeepSeek生成即可),可以发现无论怎么修改都是会出现这个错误的。 # 原因 参考链接中提到,通过如下链接可以发现显卡被占用,CUDA会抛出一个错误信息,表示没有找到可使用的独立显卡GPU,或者是独立显卡GPU正忙。: ``` cudaDeviceProp prop; int dev; memset( &prop, 0, sizeof( cudaDeviceProp ) ); prop.major = 1; prop.minor = 0; HANDLE_ERROR( cudaChooseDevice( &dev, &prop ) ); HANDLE_ERROR( cudaGLSetGLDevice( dev ) ); ``` ``` all CUDA-capable devices are busy or unavailable ``` 但是独立显卡GPU是没有正忙的,是空闲可用的。所以怀疑是调用显卡时出问题,一般有集成显卡,核心显卡和独立显卡,如果系统调用显卡的时候有问题,导致跑CUDA的时候用到了集显或者核显,就会给出错误信息表示找不到可运行CUDA的设备device。 执行以下的代码,系统会列出两块显卡的信息,第一块是英特尔核显,第二块是英伟达独显。 ``` lspci | grep -i vga ``` 然后通过在终端中(命令是"nvidia-settings")打开 Nvidia X Server Settings的界面, 选择PRIME Profiles中的Nvidia(Performance Mode),即设置成独立显卡并重启计算机即可。 # 参考链接: https://blog.csdn.net/wanchaochaochao/article/details/115371764 https://blog.csdn.net/yan_chou/article/details/72847943
上一篇:
windows下OpenGL环境配置(GLFW+GLAD)
下一篇:
部分Qt+OpenGL+CUDA+多线程问题总结
0
赞
2 人读过
新浪微博
微信
腾讯微博
QQ空间
人人网
提交评论
立即登录
, 发表评论.
没有帐号?
立即注册
0
条评论
More...
文档导航
没有帐号? 立即注册