如何从cuda :: convolution函数测量fft和ifft时间?

时间:2019-08-19 07:21:26

标签: opencv cuda cufft

我正在使用cuda :: convolution :: convolve计算高斯卷积,我想测量fft和ifft的时间。但是我不知道如何测量。

我在GitHub上找到了源代码。我不知道如何测量时间。

.../build/ios/Release-Staging-iphoneos/your.app.dSYM

1 个答案:

答案 0 :(得分:0)

我曾经不得不像这样进行测量和测量:

#include <chrono>

auto begin = std::chrono::high_resolution_clock::now();

cufftSafeCall(cufftExecR2C(planR2C, image_block.ptr<cufftReal>(),
                                           image_spect.ptr<cufftComplex>()));
//or the call you want to measure

auto elapsed = chrono::high_resolution_clock::now() - begin;

然后您可以使用以下方法将其转换为例如微秒: time = chrono::duration_cast<chrono::microseconds>(elapsed).count();

如果该调用位于for循环内,并且您希望获得所有调用的时间,则可以声明一个数组,以在每次循环中保存time

相关问题