cudaErrorInvalidResourceHandle cudaGraphicsMapResources

在主线程中创建的cudaGraphicsResource 对象,主线程中进行cudaGraphicsMapResources 操作是正确的,但是在子线程中进行cudaGraphicsMapResources 操作却出错了,报错:400(cudaErrorInvalidResourceHandle)。
猜测应该是map操作不能夸线程的。
同样的,d3d中也是context在哪个线程创建,则需要在对应的线程进行D3D11Resource的资源创建,否则也是报错的。虽然cudaGraphicsResource 创建时没有显示的使用cudacontext,但是cudaresource也是准守这个原则的。
而对于resource 的访问则没有多线程的限制。当然为了安全可以添加锁。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章