我正在运行两个主机线程,它们都使用在它们引用的 OpenGL 上下文之间共享的相同纹理。我认为这些线程中的每一个都必须在第一步运行 cudaGLSetGLDevice 以:
- 将设备绑定到当前线程
- 将设备绑定到当前制作的 OpenGL 上下文
请注意,当线程 2 调用 cudaGLSetGLDevice 时,线程 1 仍在工作。这将包括既没有从线程 1 调用 cudaDeviceReset 也没有将其 OpenGL 上下文设置为之后完成。
我得到的错误输出是:
“在此过程中设备处于活动状态时无法设置”
我能做什么或我做错了什么?
我的系统由一个 NVIDIA GTX 550Ti 组成,我正在使用 boost::thread。