栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

libTorch CUDA C++相关问题与解决方案

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

libTorch CUDA C++相关问题与解决方案

  1. 无法启用GPU加速,torch::cuda::is_available()返回值一直是false
  2. 将模型转入GPU时抛出异常c10::NotImplementedError
  3. 在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后问题解决。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/971559.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号