一、环境
我出问题的测试环境如下:
pytorch1.10+cu113
pytorch1.10+cu116
pytorch2.2+cu118
libtorch1.10.1+cu113
libtorch1.10.1+cu111
libtorch1.9.0+cu111
二、问题现象
最近封装libtorch的推理为多线程推理的时候,遇到一个现象如下:
(1)只要是将模型初始化放到一个子线程中,就在40系列显卡上运行到forward处报错:
但是在30系列的显卡上,是没有任何问题的。
注:使用std::async(std::launch::async)这个函数执行模型初始化的线程函数时候确是可以的,这个就很让人奇怪。
(2)解决方法
最后发现是我在推理的时候加入了:
t