本文主要是介绍TensorRT custom_op注册 fp16及fp32相关问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- 为什么fp16比fp32慢?
根据nvidia官方的说法,正好我的显卡是1070,所以出现了该问题. - 找不到正确的重载函数
这个问题没有找到原因,个人感觉还是跟编译器有关,因为同样的代码在Tx2上可以正常编译,在这里还请知道的朋友不吝指教.根据我的经验有两种解决思路: 1).改变写法,避开重载函数.2).指定重载函数类型,但这样会略微影响速度. - 记得确认自己的GPU_ARCHS,很多时候莫名奇妙的cuda报错就来源于没有选择正确的GPU_ARCHS.今天就遇到一个问题,prelu的实现在Tx2上出现计算错误,问题表现为同样的输入得到不同的结果且第一次的结果跟第三次的结果一致\第二次的结果跟第四次的结果一致.而这段代码在我的960和小伙伴的电脑上都运行的非常好.所以可以判断问题并不是出在prelu的实现上,一定是环境问题.于是我检查了cmakelist补充了tx2的arch,问题解决.
- cuda错误打印
由于GPU_ARCHS不同,常常造成代码的不兼容,所以cuda错误打印非常重要cudaError_t err_cuda = cudaGetLastError();if(err_cuda!=cudaSuccess)printf("%s\n", cudaGetErrorString(err_cuda));
这篇关于TensorRT custom_op注册 fp16及fp32相关问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!