建设网站的成本,广州天河网站建设公司,东营优化网站,优未网络科技秦皇岛有限公司1、背景
1#xff09;因为项目要用这个库#xff1a;MinkowskiEngine#xff0c;Minkowski Engine — MinkowskiEngine 0.5.3 documentation
然后就用了之前安装好 MinkowskiEngine 的torch1.8.1,cuda11.1的环境。 2#xff09;自己的代码出现cuda不支持torch用gpu进行矩…1、背景
1因为项目要用这个库MinkowskiEngineMinkowski Engine — MinkowskiEngine 0.5.3 documentation
然后就用了之前安装好 MinkowskiEngine 的torch1.8.1,cuda11.1的环境。 2自己的代码出现cuda不支持torch用gpu进行矩阵运算的情况。
现象是可以跑大部分程序查看GPU使用情况也会显示大部分显存被用着。
但torch.det/inverse等计算矩阵就报错
MAGMA error: function-specific error, see documentation (10) in magma_sgetrf_gpu_expert at /opt/conda/conda-bld/magma-cuda111_1605822518874/work/src/sgetrf_gpu.cpp:126 inverse_matrix torch.inverse(matrix)
RuntimeError: cusolver error: 7, when calling cusolverDnCreate(handle) 然后查了不少装个依赖库和magma库解决不了问题。
移到cpu上不报错但这个项目类似计算不少还是从根源解决问题吧。
然后大部分都说是cuda和torch版本不匹配。
然后我系统装了12.1和11.1的cuda改为12.1的时候的虚拟环境是不报错的。但MinkowskiEngine 不能支持太高版本的cuda目前我能查到的是11.8装成功的案例。
最后查到了一个东西说明就是cuda11.1版本太低了。
https://en.wikipedia.org/wiki/CUDA#GPUs_supported 总结就是40系的显卡最低装CUDA11.8
2、修改过程
安装CUDA11.8,
可参考https://blog.csdn.net/2201_75663877/article/details/145207222
更新旧版本选择no更新已有软连接选择no。不装driver不选最后一项kernel这个是加速计算的但选了会报错。
这个时候系统有好几个版本的CUDA了使用update-alternatives工具管理update-alternatives链接到/usr/local/cudaupdate-alternatives加进来所有cuda这样每次改alternative的选择就可以了。gcc我也只如此管理https://blog.csdn.net/SimpleForest/article/details/144018234。
CUDA的环境变量只设置/usr/local/cuda就够了。
安装好后创建虚拟环境过程不再赘述。
3、安装准备
和cuda版本匹配的gpu版的torch等。
说明一下的是我在虚拟环境中和base中都装了OpenBLAS和ninja用户系统环境之前装过。因为用到了但不知道具体用的哪里的。但不想在这费功夫。
4、安装过程及问题解决
MinkowskiEngine在cuda11.8中成功安装_minkowskiengine 11.8-CSDN博客
以上过程很简单但实际中一般都会报错。
我报错查GPT好像是CUDA的问题但虚拟环境我都设置了并且设置对了。前人也能在11.8上装torch是gpu版且与cuda版本也都对应。
然后去查源文件。打开setup.py
比较清楚--cuda_home都是可以编译的时候在终端输入的我检查了其它设置没啥问题也不用特意设置
if not (CUDA_HOME is False): # False when not set, str otherwiseprint(fUsing CUDA_HOME{CUDA_HOME})
这个安装过程终端没有打印说明还是没get到CUDA_HOME原因未知
然后安装命令最后手动加上了CUDA_HOME路径
python setup.py install --blas_include_dirs${CONDA_PREFIX}/include --blasopenblas --cuda_home/usr/local/cuda
如果电脑一般中间可能会闪退按照其它教程改小140多行的MAX_COMPILATION_THREADS 12就行我这里改为4.
然后虽然会有很多warning最后还是安成了python测试暂时没问题。 2025年2月20