ARM架构下银河麒麟V10系统基于CUDA11.8编译PyTorch

这篇具有很好参考价值的文章主要介绍了ARM架构下银河麒麟V10系统基于CUDA11.8编译PyTorch。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概述

公司近期想尝试本地用下ChatGLM模型,只有服务器安装了两张显卡,故而只能在服务器做尝试。CUDA驱动啥的,之前的同事已经安装完毕,并且成功识别出显卡,顾略去。按照GIT README步骤开搞,一切顺利,最后在运行脚本的时候收到如下提示

RuntimeError: Not compiled with CUDA support

因为服务器是ARM的(CPU是Phytium ST2500)。字面意思,官方编译aarch64版本的PyTorch并没有开启CUDA支持。初步怀疑自己安装的不对,一通百度、google、bing,发现其他安装方法都得依赖conda这个工具,然后安装Miniconda3,Anaconda3啥的,一顿操作,发现他们aarch64的版本和服务器都存在兼容性的问题,无奈只能放弃,自我编译。

Miniconda3问题

Miniconda3 will now be installed into this location:
/root/miniconda3

  - Press ENTER to confirm the location
  - Press CTRL-C to abort the installation
  - Or specify a different location below

[/root/miniconda3] >>> 
PREFIX=/root/miniconda3
Unpacking payload ...
Miniconda3-latest-Linux-aarch64.sh:行 358: 10241 非法指令            (核心已转储)"$CONDA_EXEC" constructor --prefix "$PREFIX" --extract-conda-pkgs

Anaconda3问题

Anaconda3 will now be installed into this location:
/root/anaconda3

  - Press ENTER to confirm the location
  - Press CTRL-C to abort the installation
  - Or specify a different location below

[/root/anaconda3] >>> /data1/anaconda3
PREFIX=/data1/anaconda3
Unpacking payload ...
Anaconda3-2023.03-1-Linux-aarch64.sh:行 353: 60027 非法指令            (核心已转储)"$CONDA_EXEC" constructor --prefix "$PREFIX" --extract-conda-pkgs

编译步骤

1.CUDA 11.8只支持到GCC-10,需要先安装GCC-10,麒麟版本源只有7.3,故而参照博文自己编译GCC-10
2.下载PyTorch源码

git clone https://github.com/pytorch/pytorch.git

3.编译源码并安装

#因为ChatGLM在Python 3.10版本运行成功,所以用3.10来编译,具体根据自己环境调整
cd pytorch
python3.10 setup.py build
python3.10 setup.py install

Q&A

Q:安装GCC 7.3.0,编译PyTorch的时候会报错,具体报啥错忘记了,大概是语法错误之类
A:改用GCC 10

Q: 第一次编译GCC 10的时候,在编译PyTorch的时候,收到以下错误

**/libgfortran.a ... which may bind externally can not be used when making a shared object; recompile with -fPIC

A:后面在编译GCC 10 执行configure脚本的时候,加上CFLAGS=“-fPIC”,重新编译GCC 10后,PyTorch编译成功。
注意:上面直接设置CFLAGS的方案应该不是合理,可能会带来其他问题(如覆盖原本的CFLAGS导致程序优化不够好之类的),具体细节本文不考虑深入讨论。

Q:关于aarch64 程序遇到非法指令集的问题
A:不仅仅一个程序遇到过,之前在整Clickhouse(以下简称CH)的时候,也遇到过。根源应该是不同平台的aarch64支持的指令集有差异,所以aarch64的程序不一定百分百通用。
之前编译CH的时候,公司本地台式机CPU是Phytium FT1500+,服务器是Phytium FT2000+,FT1500+机子编译的CH程序,挪到FT2000+服务器上面运行就会报非法指令,但并不是所有程序。

参考链接

Ubuntu18.04——切换gcc版本 / 报错解决: error – unsupported GNU version gcc later than 10 are not supported
解决Pytorch中Cuda无法GPU加速问题
【C++】编译安装 gcc10文章来源地址https://www.toymoban.com/news/detail-623886.html

到了这里,关于ARM架构下银河麒麟V10系统基于CUDA11.8编译PyTorch的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Ambari】银河麒麟V10 ARM64架构_安装Ambari2.7.6&HDP3.3.1(HiDataPlus)

    🦄 个人主页——🎐开着拖拉机回家_Linux,Java基础学习,大数据运维-CSDN博客 🎐✨🍁 感谢点赞和关注 ,每天进步一点点!加油! 🪁🍁🪁🍁🪁🍁🪁🍁 🪁🍁🪁🍁🪁🍁🪁 🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁 目录 一、版本信息 二、HiDataPlus介绍 2.1 Apache Components 2.2 Amba

    2024年02月07日
    浏览(34)
  • 【KingbaseES】银河麒麟V10 ARM64架构_安装人大金仓数据库KingbaseES_V8R6(CentOS8)

    🦄 个人主页——🎐开着拖拉机回家_Linux,Java基础学习,大数据运维-CSDN博客 🎐✨🍁 🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🍁🐥 🪁🍁🪁🍁🪁🍁🪁🍁 🪁🍁🪁🍁🪁🍁🪁 🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁 感谢点赞和关注 ,每天进步

    2024年02月08日
    浏览(35)
  • Qt5开发环境-银河麒麟V10ARM平台

    前言 近期因参与开发的某个软件需要适配银河麒麟v10arm 平台,于是自己搭建起一套Qt 开发环境,在此记录下具体过程,以供有需要的朋友参考。一开始手上并没有Arm架构的PC,先在Windows下用Vs2017和QtCreator 开发,软件开发快结束的时候Arm PC到了。Qt 没有提供可直接安装的arm架

    2024年02月12日
    浏览(46)
  • 银河麒麟V10 SP1 ARM编译QT源代码

    最近因为一些事情需要在银河麒麟ARM系统上[银河麒麟V10 SP1 ARM 2203 linux5.4.96-11]安装QT5.12.4版本,由于QT官方不提供ARM版的安装包,无奈只能自己手动编译源代码。 后续补充:实际上我要装的是Qt5.14.2 而不是 5.12.4,不过同样的环境下Qt5.14.2也编译成功了。 这是一篇个人笔记,对

    2024年02月05日
    浏览(48)
  • 银河麒麟v10x86或者arm离线安装服务

    最近有个项目,甲方的服务器用的全是国产化服务器银河麒麟,架构是x86的然后也无法连接外网,需要离线安装服务 正常思路就是找到离线安装的包,然后拷贝到现场的服务器中进行安装 所以问题就在于如何找到离线安装的包 我这次是需要安装离线nginx,keepalived 首先就是需

    2024年02月08日
    浏览(164)
  • qemu+kvm安装银河麒麟V10SP1 arm64 虚拟机

    系统镜像 Kylin-Desktop-V10-SP1-Release-2107-arm64.iso QEMU_EFI.fd(下载地址 http://releases.linaro.org/components/kernel/uefi-linaro/16.02/release/qemu64/QEMU_EFI.fd) 注:麒麟系统要求磁盘大小在50G以上. 参数说明: -m 4096 指定内存大小,单位MB -cpu cortex-a72 CPU 型号 -smp 8,cores=8,threads=1,sockets=1 1颗CPU,8核8线

    2024年01月21日
    浏览(87)
  • 虚拟机安装intel架构的银河麒麟V10(SP1)

            银河麒麟是国产操作系统之一,是基于Linux内核的桌面操作系统,有自己的应用中心,具有一定的生态系统。今从官网下载了V10(SP1)镜像文件,在Windowns的VMware虚拟机上安装试用。     官网:https://product.kylinos.cn/productCase/171/36     点击 申请试用,然后进入下载页面

    2024年01月21日
    浏览(45)
  • 安装【银河麒麟V10】linux系统

    最近客户的服务器是麒麟的操作系统,因为要在上面安装我们的应用所以,要找镜像在本地搭建测试环境,看看有什么问题,把遇到的问题和操作总结一下。因为客户的服务器是内网,没网还需要挂载镜像,所以还需要挂载镜像。 1.系统下载 系统下载也走了很多弯路。就不说

    2024年02月06日
    浏览(93)
  • 虚拟机安装银河麒麟V10系统

    最近需要在银河麒麟V10系统上使用达梦数据库,记录一下使用虚拟机 VMware 15,16也可以 银河麒麟V10,可在官网上下载镜像文件 https://www.kylinos.cn/ 下载桌面操作系统版本,可申请免费试用。 新建虚拟机,选择典型安装,也可以自定义安装,典型安装能快速创建一个虚拟机,后

    2024年02月05日
    浏览(88)
  • 银河麒麟v10系统安装docker

    第二章 银河麒麟v10系统安装docker 进入网站下载 链接: 点击跳转至下载界面 注意:这里针对cpu分了不同的版本,我的宿主机就是我的电脑是AMD架构cpu所以我就选择了第一个amd64的包,选择其他版本则会出现安装失败的情况 选择下图所示版本 在浏览器下载比较慢,直接在虚拟机

    2024年02月11日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包