昇腾aarch64服务器安装CUDA+CUDNN+magma-cuda

最近拿到一台昇腾aarch64服务器,显卡为A100,非常难得,但是与平常配置环境不同,服务器存在三大难题:

  1. 由于安全控制,服务器本身不能访问外网;
  2. 服务器本身为ARM架构(aarch64);
  3. 没有管理员权限,只拿到非Root用户;

本文将在以上条件的限制下,安装CUDA+CUDNN+magma-cuda,以便能够更好地利用这款强大的硬件设备。

一、安装CUDA和cudnn

1.1、下载CUDA驱动

1.首先查看系统的cuda驱动,可以看到这里是12.3版本,所以我们要下载比其低的CUDA,推荐11.8版本。 然后输出nvcc --verison,如果是command not found说明没有CUDA驱需要安装,如果输出了一大堆型号信息且版本低于上图的CUDA 驱动版本,说明有CUDA且版本正确,就不要再安装了,跳到#二步骤。

2.进入CUDA官网,根据系统版本选择对应的runfile,注意因为是非root用户,不要用sudo的rpm安装,只能选择下载runfile用sh安装,因为其他版本需要管理员权限才行,(如果不知道机器是什么版本,可以使用uname -m查看架构)

可以使用wget下载:wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux_sbsa.run 如果没有外网环境用不了wget,使用本机下载这个.run文件后,然后传到服务器,使用sh安装。

1.2、安装CUDA驱动

如果是非root用户,终端cd进入下载好.run文件的目录,使用sh安装:sh cuda_11.8.0_520.61.05_linux_sbsa.run 首先会弹出问你接不接受一个协议,输入accept: 然后回弹出安装配置: ↑↓进行上下,←→进行扩展,enter进行选择和取消,A进行扩展选项 我们取消掉Driver选项,因为机器已经安装了Driver,只安装CUDA Toolkit和CUDA documentation: 然后选择选中Options: 进入Toolkit Options: /usr这种非用户目录的选项都要去掉,我这里全去掉了,另外进入 Change Toolkit Install Path设置cuda安装到自己具有写入权限的路径 (一定要是自己的目录,提前建好文件夹,不然你安不了)

做完Done,回到Options菜单, 更改Library install path (不改不行,它会偷偷写入/var/lib) 同样设置安装到自己具有写入权限的路径 (同样一定要是自己的目录) 配置好以上两个自定义目录后,选择Done,等待片刻会出现一个summary,说明安装成功: 并且能在文件目录中看到cuda里的文件都已经安装好了:

1.3、配置环境变量

安装好后还不能使用nvcc --V,需要配置环境变量: 输入 vim ~/.bashrc进入环境变量,进行更改:

bash 复制代码
# CUDA
export PATH="/刚刚的路径/cuda-10.1/bin:$PATH"
export LD_LIBRARY_PATH="/刚刚的路径/cuda-11.8/lib64:/刚刚的路径/cuda-11.8/mylib/lib64:$LD_LIBRARY_PATH"

路径要记得换成自己的: 添加好后,输入wq!保存,然后刷新环境变量:source ~/.profile

最后测试CUDA,输入nvcc -V,如果显示了版本号,则恭喜大获成功:

1.4、安装cudnn

这里参考了:blog.csdn.net/YY007H/arti...

1.5、安装magma-cuda

magma-cuda主要用于大规模线性代数计算和GPU加速。

首先进入anaconda官方网站:anaconda.org/search?q=ma... 将其下载后,迁移到Anaconda安装目录的pkgs目录下(因为注conda install 缓存文件路径一般就是anaconda/pkgs),如果下载的包名是linux-64_开头的,要重命名把linux-64_去除,以包名开头,不然conda识别不到。然后使用终端cd到pkgs目录那里,输入:

bash 复制代码
conda install --use-local 包名.tar.bz2

等待片刻,安装完成后输入conda list就可以看到包名了,如果看不到包名的话大概率是包名的问题,比如linux-64_magma-cuda118-2.6.1-1.tar.bz2要改成magma-cuda118-2.6.1-1.tar.bz2。

最后输入:conda list验证是否成功安装magma-cuda

相关推荐
城南云小白16 分钟前
Linux网络服务只iptables防火墙工具
linux·服务器·网络
咩咩大主教17 分钟前
C++基于select和epoll的TCP服务器
linux·服务器·c语言·开发语言·c++·tcp/ip·io多路复用
Flying_Fish_roe44 分钟前
linux-网络管理-网络配置
linux·网络·php
FuLLovers1 小时前
2024-09-13 冯诺依曼体系结构 OS管理 进程
linux·开发语言
xuanyu222 小时前
Linux常用指令
linux·运维·人工智能
有时间要学习2 小时前
Linux——应用层自定义协议与序列化
linux·服务器·网络
阑梦清川3 小时前
简明linux系统编程--互斥锁--TCP--UDP初识
linux·udp·tcp·互斥锁·信号·解锁·加锁
hardStudy_h3 小时前
Linux——常用系统设置和快捷键操作指令
linux·运维·服务器
XF鸭3 小时前
TCP 和 UDP 协议的区别?
linux
Flying_Fish_roe5 小时前
linux-安全管理-防火墙与网络安全
linux·数据库·oracle