当前位置: 首页 > news >正文

MinkowskiEngine安装(CUDA11.8+torch2.0.1+RTX4070TI)

1、背景

1)因为项目要用这个库:MinkowskiEngine,Minkowski 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/cuda,update-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 otherwise

    print(f"Using CUDA_HOME={CUDA_HOME}")

这个安装过程终端没有打印,说明还是没get到CUDA_HOME,原因未知

然后安装命令最后手动加上了CUDA_HOME路径

python setup.py install --blas_include_dirs=${CONDA_PREFIX}/include --blas=openblas --cuda_home=/usr/local/cuda

如果电脑一般,中间可能会闪退,按照其它教程改小140多行的MAX_COMPILATION_THREADS = 12就行,我这里改为4.

然后虽然会有很多warning,最后还是安成了,python测试暂时没问题。

2025年2月20

相关文章:

  • 挖矿病毒实战分析
  • 题海拾贝:【枚举】P2010 [NOIP 2016 普及组] 回文日期
  • stm32单片机个人学习笔记16(SPI通信协议)
  • Unity游戏制作中的C#基础(1)界面操作基础
  • 25旅游管理研究生复试面试问题汇总 旅游管理专业知识问题很全! 旅游管理复试全流程攻略 旅游管理考研复试真题汇总
  • 谈谈对线程的认识
  • 23.2 HtmlDocument类
  • 算法1-4 数楼梯
  • 007 HBuilderX提示IDE service port disabled. To use CLI Call, open IDE
  • 程序代码篇---Python参数管理
  • Spring统一功能处理:拦截器、响应与异常的统一管理
  • PT8023W 单触控双输出 LED 调光 IC
  • 交友项目-交友软件简介
  • 将maya模型物体材质转化为面材质
  • SHELL32!Shell_MergeMenus函数分析
  • Plant Simulation培训教程-双深堆垛机立库仿真模块
  • AI赋能编程:PyCharm与DeepSeek的智能开发革命
  • 如何将Python函数打包成.so库?
  • 制定产品宽高比相关标准的考量维度
  • Openai Dashboard可视化微调大语言模型
  • 丹泽尔·华盛顿惊喜收获戛纳终身成就奖
  • 上海国际电影电视节 | 奔赴电影之城,开启光影新程
  • 海南乐城管理局原局长贾宁已赴省政协工作,曾从河南跨省任职
  • 和平会谈两天后,俄对乌发动冲突爆发以来最大规模无人机袭击
  • 浙江推动人工智能终端消费:家居机器人纳入以旧换新补贴范围
  • 霍步刚任辽宁沈阳市委书记