昇腾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

相关推荐
林农2 小时前
C05S14-MySQL高级语句
linux·mysql·云计算
Wanliang Li3 小时前
Linux电源管理——CPU Hotplug 流程
linux·嵌入式硬件·嵌入式·armv8·电源管理·cpuhotplug
fnd_LN3 小时前
Linux文件目录 --- mkdir命令,创建目录,多级目录,设置目录权限
linux·运维·服务器
达帮主3 小时前
7.C语言 宏(Macro) 宏定义,宏函数
linux·c语言·算法
行思理3 小时前
Linux 下SVN新手操作手册
linux·运维·svn
初学者丶一起加油3 小时前
C语言基础:指针(数组指针与指针数组)
linux·c语言·开发语言·数据结构·c++·算法·visual studio
一只搬砖的猹4 小时前
cJson系列——常用cJson库函数
linux·前端·javascript·python·物联网·mysql·json
莫固执,朋友5 小时前
Linux下编译 libwebsockets简介和使用示例
linux·websocket·音视频
DCTANT5 小时前
【合作原创】使用Termux搭建可以使用的生产力环境(八)
linux·debian·idea·termux·vnc·xfce4·termux-x11
开疆智能5 小时前
ModbusTCP转Profinet:工业通信的利器
linux·服务器·网络