服务器使用
Posted 云才哥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了服务器使用相关的知识,希望对你有一定的参考价值。
服务器使用
前言
小组服务器供组内多人使用(代代相传),维护困难,望各位遵守使用规则。当前为第一版使用说明:
提示:以下是本篇文章正文内容,下面案例仅供参考
一、服务器配置介绍
1、服务器系统及硬件:
- 服务器系统:CentOS7.9
- 服务器CPU:Intel® Core™ i7-7800X
- 服务器GPU:两张GeForce GTX 1080 Ti
- 服务器内存:32G
- 服务器硬盘:250G固态(系统盘)+2T机械
2、服务器系统用户
1.root用户:
- 家目录:/root
- 配额:50G
2.lxp用户:
- 家目录:/home/lxp
- 配额:176G
3、服务器磁盘挂载情况
- 固态硬盘:250G固态作为系统盘,其中50G供root使用,其余用户共用176G(目前只有lxp用户),另外的空间用作临时存储空间。
- 机械硬盘:2T的机械硬盘全部挂在/home/lxp/data目录下,供存放数据。
二、服务器使用介绍
1、目录使用:
- /home/lxp/software:安装软件路径,所有软件安装到此路径
- /home/lxp/data:保存数据路径,所有个人的数据或代码保存在此路径(建议在此目录创建个人数据目录,将个人数据保存至个人数据目录下)
- /usr/local/:cuda安装路径(此路径为默认路径,安装时一般不需要修改,在安装时需要注意查看,以方便cuda版本切换)
- /home/lxp/data/software_zip:用于存放各种软件或是驱动安装包,安装包下载不易,环境安装完成后就把它丢这个目录下吧
2、数据传输工具使用:
1.火狐浏览器:
使用火狐浏览器下载的文件默认保存在:/home/lxp/下载
2.wget命令:
使用wget命令下载时默认保存至当前命令目录,可以使用-P指定目录
wget -P /home/lxp/data URL路径
3.FTP服务器:
服务器已经开通FTP服务器,学校内网可以直接访问,使用ftp://172.20.(重启后变动,需要提前确定)连接
- 用户名:lxp
- 密码:123456
- 主目录:/home/lxp/data
3、lxp用户下使用yum(权限问题解决):
使用lxp用户直接使用yum时会提示权限不够,可以通过sudo命令解决(无需root用户权限):
#所有提示权限不够的命令,都可以通过加sudo解决(不要随意使用root用户权限)
sudo yum install wget
4、项目环境配置:
1、conda虚拟环境创建:
本系统下安装了Anaconda3,自带Python3.8
创建虚拟环境参考链接: Anaconda使用
2、框架安装:
由于框架的安装时间较长(以Pytorch为例),所以一般不在创建虚拟环境的时候安装Pytorch。而在安装cuda之前,需要根据项目所需的Pytorch框架找到对应的cuda版本。安装Pytorch以及cuda版本匹配可以参考官网链接。
3、cuda安装:
gpu版本的pytorch连接显卡时需要安装cuda驱动。
cuda下载: 下载链接(可以先下载到/home/lxp/下载,目录下,安装完成后可以将其剪切到/home/lxp/data/software_zip目录下)。
如下以cuda_8.0.61_375.26_linux.run为例:
#首先切换目录之下载目录,并更改文件权限
sudo chmod 777 cuda_8.0.61_375.26_linux.run
sudo ./cuda_8.0.61_375.26_linux.run #执行文件
按住空格(跳过安装协议文档)直到出现按下面的选项:
至此安装完成。
4、cudnn安装:
cudnn是一个神经网络层加速库文件。
cudnn下载: 下载链接(下载对应已经安装cuda的cudnn版本,下载前需要先登陆)。
如下以cudnn-8.0-linux-x64-v7.1.tgz为例:
#首先切换目录之下载目录,将cudnn中的文件复制到cuda对应的文件中
tar -zxvf cudnn-8.0-linux-x64-v7.1.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda-8.0/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-8.0/lib64/
sudo chmod a+r /usr/local/cuda-8.0/include/cudnn.h /usr/local/cuda-8.0/lib64/libcudnn*
5、系统默认cuda切换:(不建议修改,建议在启动虚拟环境时启用相应的cuda驱动,如下步骤6)
可以通过修改系统的环境变量来修改系统默认cuda版本,安装了多个CUDA的版本,那么可以在这些CUDA的版本之间切换(切换后记得安装对应的cudnn的版本)
在安装了多个cuda版本后,可以在/usr/local/目录下查看自己安装的cuda版本
只需要删除cuda软链接,然后重新建立指向另一个版本的软链接即可
#只需要删除原有链接,然后建立新的cuda链接即可
sudo rm -rf /usr/local/cuda
sudo ln -s /usr/local/cuda-10.1 /usr/local/cuda
6、Anaconda虚拟环境自动启用相应的cuda版本:
虚拟环境运⾏时,实际是从动态链接库的地址找需要的cuda动态链接库,所以我们只需要指定 cuda路径 . 即保证该环境启动时,把cuda 8的地址加⼊入到cuda路径 ,关闭该环境时再移除。以下以虚拟环境test_env为例。
激活时(activate)执行脚本:
在脚本文件中$v表示取变量值,变量直接命名
#1、创建环境启动时的脚本
mkdir -p /home/lxp/software/anaconda3/envs/test_env/etc/conda/activate.d
touch /home/lxp/software/anaconda3/envs/test_env/etc/conda/activate.d/activate.sh
#2、编辑脚本执行命令
vim /home/lxp/software/anaconda3/envs/test_env/etc/conda/activate.d/activate.sh
#在命令中加入写入如下命令:(注意替换路径) 通过将指定路径防止全局PATh最前方,可以使得该设置cuda优先于其他cuda执行
#!/bin/sh
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
#3、添加执行权限
chmod +x /home/lxp/software/anaconda3/envs/test_env/etc/conda/activate.d/activate.sh
关闭环境时(deactivate)执行脚本:
#1、创建环境启动时的脚本
mkdir -p /home/lxp/software/anaconda3/envs/test_env/etc/conda/deactivate.d
touch /home/lxp/software/anaconda3/envs/test_env/etc/conda/deactivate.d/deactivate.sh
#2、编辑脚本执行命令
vim /home/lxp/software/anaconda3/envs/test_env/etc/conda/deactivate.d/deactivate.sh
#在命令中加入写入如下命令:(注意替换路径) 使用原来记录的cuda路径还原,即找到当前路径字符串,并使用空字符串进行替换,"\\"为转义字符
#!/bin/sh
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH/\\/usr\\/local\\/cuda-8.0\\/lib64:/
export PATH=$PATH/\\/usr\\/local\\/cuda-8.0\\/bin:/
#3、添加执行权限
chmod +x /home/lxp/software/anaconda3/envs/test_env/etc/conda/deactivate.d/deactivate.sh
测试:(可以看到打开虚拟环境后切换到了指定的cuda版本,关闭虚拟环境后又还原到了原版本)
7、安装校验:
import torch
# 若正常则静默
a = torch.tensor(1.)
# 若正常则静默
print(a.cuda())
# 若正常则返回 tensor(1., device='cuda:0')
from torch.backends import cudnn
# 若正常则静默
print(cudnn.is_available())
# 若正常则返回 True
print(cudnn.is_acceptable(a.cuda()))
# 若正常则返回 True
总结
暂时好像是一劳永逸,日后维护还得小心,第一版使用说明就这些吧!!!
参考文档:
1、Linux下CUDA的多版本安装及切换.
2、CentOS7安装NVIDIA显卡驱动.
以上是关于服务器使用的主要内容,如果未能解决你的问题,请参考以下文章