繁体   English   中英

C ++,OpenCV:异步运行cuda :: dft

[英]C++, OpenCV: run cuda::dft asynchronously

我注意到,如果传递了流,OpenCV的cv::cuda::dft函数也会同步运行。 通常,这意味着该函数是异步执行的。 但是,似乎dft函数调用cudaFree会导致同步行为。

有没有办法使其异步运行?

问题在于袖扣计划的创建和销毁。 每次调用函数cv::cuda::dft执行此操作。 循环执行时效率很低,并导致同步调用。 目前,似乎无法创建dft过滤器然后将其多次应用,因为使用cudafilters可以在其中创建一个过滤器,然后将其多次应用于不同的数据。

最后,我不使用OpenCV的dft函数而是直接使用cufft解决了此问题。 然后,我可以在循环之前创建一个计划,在循环内对该计划进行一次ffts,然后在循环之后销毁它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM