大连人工智能计算平台——华为昇腾AI平台——高性能计算HPC的pytorch环境的软件升级——pytorch_cuda_1.13升级为pytorch_cuda_2.0.1
前文资料:
aarch64架构CPU下Ubuntu系统环境源码编译pytorch-gpu-2.0.1版本
X86架构CPU下Ubuntu系统环境源码编译pytorch-gpu-2.0.1版本
如何拉取指定CPU架构并且指定ubuntu版本并且指定cuda和cudnn版本的docker镜像
如何拉取指定CPU架构并且指定ubuntu版本并且指定cuda和cudnn版本的docker镜像
==============================================
前面的博文已经给出了x86 CPU架构下的pytorch源码编译,也给出了aarch64/armv8架构CPU下的pytorch源码编译,正好一直有华为超算平台的使用账号,于是想着正好给超算平台的pytorch版本升下级。(pytorch可以安装在系统路径下也可以安装在个人路径下,之前的超算平台使用的pytorch是管理员编译的是pytorch1.13版本,但是现在最新版的pytorch是2.0.1版本,于是想着做下升级,将高版本的pytorch安装在个人路径下来使用,本文的重点就是如何绕过管理员的权限来安装并运行自编译的高版本pytorch)
pytorch2.0.1的源码编译,探索阶段:
之前由于已经做过aarch64架构下的pytorch的编译,相当于有了足够的经验了,于是就有了下面的操作:
aarch架构下ubuntu22.04系统在cuda11.4+cudnn8的情况下编译pytorch2.0.1源码后在超算平台上运行报错:libm.so.6: version `GLIBC_2.29‘ not found
发现这个错误的修复需要使用root权限在系统层面上修复,由于我们不具备管理员权限因此作罢,于是考虑在用户环境下进行编译和安装,最后失败。
更换思路,上面的报错是因为编译的环境下对应的系统lib库文件高于运行环境,那么我们直接把编译环境下的系统lib库copy过去到用户路径下,然后使用设置动态链接库的方式来使用,发现依旧报错,研究其问题根源为编译环境为aarch下的ubuntu系统,而运行环境为aarch下的kylin系统,这个系统库不兼容。
最终:
上面的这个思路依旧不好使,于是得到结论,那就是不使用root权限在运行端的超算平台上是无法运行和编译的,也就是说我们必须在编译时就把对应的系统lib库版本降低到运行的超算系统的版本;
由于kylin系统没有aarch架构下的docker镜像我们无法使用copy系统lib库的方式,而ubuntu的系统lib库和kylin系统的不兼容,这个情况下我们只能使用物理机的形式运行aarch下的kylin系统,然后copy其系统lib库到超算平台,但是aarch架构的CPU需要额外购买,这个经济上的花销需要自掏腰包,这个自然也行不通;
在上面这些方案都失败之后相当的就是使用低版本的ubuntu系统,这样其系统lib库和超算系统的kylin系统lib库版本一直,这个情况下在个人的ubuntu aarch64系统下编译的pytorch放到超算的aarch kylin系统下就不会存在系统lib库版本不兼容的问题,于是有操作:
aarch架构下ubuntu16.04系统在cuda11.4+cudnn8的情况下编译pytorch2.0.1源码后在超算平台上运行报错:libc.so.6: version `GLIBC_2.24‘ not found
这说明ubuntu22.04版本高了,ubuntu16.04版本低了,于是选择使用ubuntu18.04系统,最后发现这个版本下编译的aarch cua11.4的pytorch可以完美在aarch kylin系统下运行,编译&运行成功。
--------------------------------------------------------------------
超算平台下的系统:
编译pytorch源码的个人workstation上容器的情况:
PS:
本文的重点是如何在不同aarch linux系统下实现pytorch的编译及运行,我们在aarch ubuntu下编译pytorch源码,然后再aarch kylin系统下运行,并取得了成功,实现了绕过管理员权限的情况下对pytorch的版本进行了升级。
=================================
posted on 2023-08-01 12:15 Angry_Panda 阅读(152) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探
2021-08-01 【转转】 Huber Loss
2021-08-01 【转载】 MPP大规模并行处理架构详解