- 无法启用GPU加速,torch::cuda::is_available()返回值一直是false
- 将模型转入GPU时抛出异常c10::NotImplementedError
- 在RTX3070上,CUDA的初始化速度非非非非非非非非非非非非非非常慢
第一个问题从最一开始就遇到了,原因不明,版本为1.10.0+cu102 。
解决方案为通过编译器的参数引入一个额外的符号,参数具体为:
/INCLUDE:?warp_size@cuda@at@@YAHXZ
第二个问题在升级libTorch,依赖cuda11.3的时候遇到了,原因依旧不明,版本号为1.11.0+cu113。
具体的,以下代码:
m_convnet = std::make_shared(m_config); m_convnet->to(device());
只要device()返回at::kCUDA,第二行就会触发c10::NotImplementedError异常。
解决方案同样是通过编译器的参数引入一个额外的符号,参数具体为:
/INCLUDE:"?ignore_this_library_placeholder@@YAHXZ"
注意: 只确认了不再抛异常, 但是会不会导致没有在GPU上运算还没确认
具体两个符号的添加地点如下:
第三个问题是CUDA的版本问题。CUDA11之前的版本不支持RTX30系列,所以升级到CUDA11后问题解决。



