我试图优化我的OpenCV代码以在GPU上运行。问题在于,在GPU上运行的安全性和安全性似乎存在冲突。
在这里的帖子中:how to use gpu::Stream in OpenCV?,答案说明:
目前,如果相同的操作将不同的数据排入两次,则可能会遇到问题。
我很乐意通过将这些操作排入相同的流来解决这个问题。但是,在这里的文档http://on-demand.gputechconf.com/gtc/2013/webinar/gtc-express-itseez-opencv-webinar.pdf中,作者写道(幻灯片28):
目前的限制: - 多次排队相同的GPU操作不安全
他展示了一个例子,他说在相同的流上排队同样的操作是不安全的。
我很困惑 - 我是否可以安全地在同一个流上排队相同的操作?有人知道吗?
直观地说,我认为它没问题,因为我想,相同的流将串行运行,因此这两个函数永远不会尝试同时访问相同的数据。但在实施之前我真的很喜欢确认。
感谢您的帮助!