TensorRT&&C++在Win10下前向推理速度不稳定原因汇总及解决方案

问题背景在使用C++版本的TensorRT框架做模型推理时,会遇到前向推理速度不稳定的情况。

问题1:同一个模型,同一套代码在运行时速度不稳定,比如一会儿24ms,然后隔一会再去推理就变成了90ms,再又降到30ms。

问题原因:不仅TensorRT框架有这种现象,Libtorch、onnx框架也存在类似的情况。其根本原因是数据从显存到内存的时间不稳定所导致的,即:cudaMemcpyAsync in cudaMemcpyDeviceToHost mode is slow。

(

        也可以自己用打印以下部分代码的运行时间验证结论:

1:预处理:vector< cv::Mat >—>float *
2:数据从内存喂入显存:cudaMemcpyAsync(mBinding[bindIndex], input, mBindingSize[bindIndex], cu

你可能感兴趣的:(原生C++开发(VS,Qt,CUDA),C++,tensorrt,windows,推理速度,推理时间)