概述

公司近期想尝试本地用下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

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

  1. win10系统下利用QEMU安装ARM架构的银河麒麟桌面操作系统V10

    目录 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 目录 前言 一.工具准备 二.安装 1.安装QEMU 2.安装虚拟机 3.下次启动虚拟机 4.主机与虚拟机传送文件 总 ...

  2. 基于ARM64银河麒麟V10系统(PK体系)适配安装Ambari2.7.3+HDP3.1

    引言 目前市场上主流的大数据平台以CDH和HDP两种为主,而两种大数据平台都是基于Apache原生态版本改进的,HDP版本的更贴近于原生态版本,开源率100%,基本上支持所有的开源大数据组件.CDH版 ...

  3. .NET 6应用程序适配国产银河麒麟V10系统随记

    最近想在麒麟系统上运行.NET 6程序,经过一番折腾最终完成了,简单记录一下. 目标系统: CPU: aarch64架构(ARM64) 操作系统:银河麒麟V10高级服务器系统 银河麒麟V10系统(以下 ...

  4. 银河麒麟V10系统+飞腾CPU交叉编译安装Qt-5.15.2

    银河麒麟V10系统+飞腾CPU编译安装Qt-5.15.2 一.准备工作 1.下载qt源码包 下载网址:https://download.qt.io/archive/qt/ 在任意空闲位置新建文件夹,并 ...

  5. 银河麒麟V10系统+飞腾CPU编译安装Qt-5.15.2

    银河麒麟V10系统+飞腾CPU编译安装Qt-5.15.2 一.准备工作 1.下载qt源码包 下载网址:https://download.qt.io/archive/qt/ 在任意空闲位置新建文件夹,并 ...

  6. CRTD--有关于intel芯片组和BCM4360网卡适配银河麒麟V10系统(适用于macbook)

    在intel芯片组上安装银河麒麟V10系统存在问题: 一开始登录界面瞬间从有亮度到亮度最低,屏幕变黑,当登录进去时,进入设置勉强看到亮度为100%.据分析,是此系统默认调光为系统亮度而不是intel_ ...

  7. 银河麒麟V10系统 syslog和kern.log文件过大问题解决,定时清理日志文件

    文章目录 1. 新建clear_log.sh脚本文件 2. 设置cron任务 3. 解决不执行的方法 需求: 在使用银河麒麟V10系统时,/var/log/kern.log 和 /var/log/sy ...

  8. 银河麒麟V10系统无法调用达梦数据库图形化工具的解决办法

    近期,在部署及使用达梦数据库时,发现了无法调用图形化工具界面的问题,首先先确认了图形化服务是正常的,使用root用户可以正常调用图形化界面,但使用dmdba却无法调用,在经过一段时间的尝试后,终于发现 ...

  9. 【国产化系列】银河麒麟V10系统上升级gcc版本

    DATE: 2021.10.15 文章目录 1.前言 2.参考 3.gcc源码下载 4.gcc7.5.0安装步骤 4.1.安装依赖 4.2.configure 4.3.make 1.前言 银河麒麟V1 ...

最新文章

  1. 计算机组成原理考研重点
  2. C++派生类构造函数调用规则
  3. 关于Linux的基础中的基础和一些基础小命令
  4. 2.2.1操作系统之处理机调度的概念及层次
  5. 你所不了解的五条面试忠告
  6. SpringBoot-探索回顾Spring框架本质
  7. vue 一直登录错误_vue中路由拦截无限循环的情况
  8. 2287 poj 田忌赛马,贪心
  9. Mac平台使用SnapMotion从视频中提取图像
  10. 青鸟影院售票系统(一)
  11. Uniapp微信小程序视频全屏播放功能极简实现法
  12. VIO测试准备——使用imu_utils和kalibr进行相机与IMU标定
  13. 阿里服务器微信发不了图片,为什么微信发不了图片?这四招教你解决难题
  14. html ui标记是什么,ui是啥
  15. 关闭Windows Server 2012的IE增强安全配置
  16. 纸上得来终觉浅,决知此事要躬行
  17. C语言小明申请QQ号码
  18. 2021年甘肃省高考成绩一分一段表查询,2021年甘肃高考成绩排名查询系统,甘肃高考位次排名查询...
  19. 5G时代服务器如何变化
  20. 使用Sentinel Dashboard监控项目流量

热门文章

  1. iTween研究院之学习笔记Move移动篇(一)
  2. 关于VS无法下载扩展的解决办法
  3. 安信证券接口的demo做得不好。
  4. 所选之路,为足球而生。2020—2022我与足球那些事
  5. 公开课:TCP协议的可靠性传输机制-王达-专题视频课程
  6. 2021届高考成绩查询安徽铜陵三中,铜陵三中——铜陵三中召开2021届综合素质评价及外语口语考试布置会...
  7. 华为离职副总裁给任正非的辞职信【受益很多】
  8. 学习笔记(05):自然语言处理Word2Vec视频学习教程-影评情感分类任务概述
  9. 把一个数分解成任意几个数的和,把所有的可能性列出来
  10. 神经辐射场(NERF)模型:一个令人惊叹的三维场景重建方法