武汉大学超算入门介绍
仅供初次使用借鉴
目录
一、申请账号
二、下载软件
1.PuTTY
2.FileZilla
三、连接超算
1.使用PuTTY连接
2.使用FileZilla进入文件传输
四、配置环境
1.安装miniconda
2.创建适用于yolov5的虚拟环境
3.提交训练
五、超算相关命令
1.Slurm作业系统
2.相关指令
六、常见问题
一、申请账号
进入官网申请武大超算,两三个工作日后学生邮箱会收到hpc邮箱,内含:
- 用户名 seawithstars
- 初始密码 xxxxxxxx
- 登录地址 202.114.96.180
二、下载软件
1.PuTTY
下载地址:PuTTY 连接超算!
2.FileZilla
下载地址: FileZilla 传输文件!
三、连接超算
1.使用PuTTY连接
如图:
- 填入登录地址
- 输入Sessions名称
- Save Sessions ( 这样下次就不用再次输入登录地址,直接点击新建的Session)
- 点击刚才的Session
- Open
6.输入用户名以及初始密码后,即可进入超算中自己的账户,出现以下内容
此时我们可以更改初始密码,需要至少一个小写字母一个大写字母。输入:
passwd
会出现修改密码,按照提示修改即可。
[seawithstars@swarm02 ~]$ passwd
Changing password for user seawithstars.
Changing password for seawithstars.
(current) UNIX password:
其中 seawithstars就是用户名,swarm02就是登录节点,登录节点不允许长时间计算占用资源
2.使用FileZilla进入文件传输
如图:
现在我们来认识一下武大超算给我们的存储空间:
/home/seawithstars/
- 文件容量限额
1GB
- 文件数量限额
10000
- 目录下的文件长期保存
- 建议仅用来保存用户的环境变量等设置信息
/project/seawithstars/ 其实该地址也可以 /home/seawithstars/project/
- 文件容量限额
500GB
- 文件数量限额
500000
- 目录下的文件长期保存
- 主要的计算程序和数据存储空间
四、配置环境
1.安装miniconda
这里我们参考官方指导:
Conda
在安装(升级)软件包或者使用虚拟环境的时候,需要用到~/.conda
和~/.cache
目录,因为武大超算~/
目录的容量限制,将这两个目录移动到~/project
下面有助于消除因容量限制引起的问题
首先创建文件:
mkdir ~/project/conda_user
ln -s ~/project/conda_user ~/.condamkdir ~/project/conda_cache
ln -s ~/project/conda_cache ~/.cache
然后移动文件指向:
mv ~/.conda ~/project/conda_user
ln -s ~/project/conda_user ~/.condamv ~/.cache ~/project/conda_cache
ln -s ~/project/conda_cache ~/.cache
下载miniconda
下载后使用FileZilla传输到/project/liuyuhao/ 使用PuTTY执行一下命令:
cd project
ls
进入project文件夹并列出所含文件(夹),命令行下会出现:
conda_cache conda_user Miniconda3-latest-Linux-x86_64.sh
安装sh文件:
sh Miniconda3-latest-Linux-x86_64.sh
1.会出现一些协议确定,一直点 enter
2.输入 yes 同意协议
3.选择存储位置,将home 改为 project,然后执行安装并等待
4.安装程序会询问是否在 ~/.bashrc
中加入环境变量控制,选择是,用户每次登录后就可以直接使用这次安装的 miniconda3的base环境中
5.结束安装,出现:
Thank you for installing Miniconda3!
6.验证conda指令,会列出当前的环境
conda env list
7.为conda换源,在控制台输入
vim ~/.condarc
vim是一个编辑器 ~/即/home/liuyuhao/ .condarc是文件名
进入vim之后 点击输入小写 i 复制一下channels然后在控制台点击右键(粘贴)
channels:- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/MindSpore- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/auto- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/biobakery- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/c4aarch64- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/caffe2- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/deepmodeling- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/dglteam- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/fastai- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/fermi- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/idaholab- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/intel- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/matsci- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/mordred-descriptor- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/numba- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/ohmeta- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/omnia- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/peterjc123- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/plotly- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/psi4- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch-lts- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch-test- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch3d- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pyviz- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/qiime2- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/rapidsai- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/rdkit- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/simpleitk- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/stackless- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/ursky- defaults
show_channel_urls: true
输入完成后点击 Esc ,随后输入(保存并退出)
:wq
同理给pip换源
mkdir ~/.pip # 配置文件位置在 ~/.pip/pip.conf(如果不存在创建该目录和文件)
vim ~/.pip/pip.conf # 打开配置文件,修改如下:
插入
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn
保存并退出即可。
2.创建适用于yolov5的虚拟环境
1.导入yolov5项目(访问github可能需要魔法),项目地址,下载后传输到 /project/liuyuhao/
2.进入yolov5-master文件夹并创建虚拟环境yolo38
cd yolov5-master
conda create -n yolo38 python=3.8
3.输入y确定创建并下载依赖包
4.进入虚拟环境
conda activate yolo38
5.安装依赖库文件
如果是使用cpu训练那么可以不用介意使用什么版本的torch,直接pip
如果使用GPU则要查询超算cuda版本对应的torch以及torchvision
为避免安装torch出现问题,先手动安装torch,torchvision
pip install torch==1.7.0
pip install torchvision==0.8.1
然后再根据requirements安装:
pip install -r requirements.txt
最后再跑一遍确认所有库安装完成
pip install -r requirements.txt
6.下载字体文件,yolov5需要字体,下载过程比较慢,在电脑上下载(需要魔法)后移动到超算上
下载路径
移动到
/home/seawithstars/.config/Ultralytics/
7.在登录节点试运行
conda activate yolo38
python train.py
出现训练过程即可 ctrl+C终止运行
3.提交训练
使用srun或者sbatch更换节点计算
参见下一章节
五、超算相关命令
注:学生只能使用hpxg分区 最大使用16个cpu核 最多占用两个节点
1.Slurm
作业系统
①使用sbatch提交
- 第一行是脚本语言解释器的路径,一般选择
bash
作为解释器 - 若干行由
#SBATCH
引导的 Slurm 设置选项 - 计算程序运行需要设置的环境变量
- 运行程序的命令
vim yolo.sbatch
插入:
#!/bin/bash#SBATCH --partition=hpxg #申请分区 `hpxg` 的计算资源
#SBATCH --cpus-per-task=15
#SBATCH --ntasks=1conda init
source ~/.bashrccd $SLURM_SUBMIT_DIR
conda activate yolo38
python train.py
添加权限:
chmod +x yolo.sbatch
交互式提交任务
使用srun不会读取#SBATCH 需要指定,like
srun -c 15 yolo.sbatch
非交互式提交任务
sbatch yolo.sbatch
#SBATCH 指令 ,红色为srun指令
#SBATCH --account=supervisor #付费账号关联,用户使用收费分区时,需要关联付费账号,supervisor是导师账户名
#SBATCH --cpus-per-task==16 #每个任务使用16个cpu核 -c
#SBATCH --gres=gpu:2 #使用2块gpu,小于等于每个节点GPU数量4
#SBATCH --nodes=1 #使用1个节点
#SBATCH --ntasks-per-node=1 #每个节点有一个任务
#SBATCH --partition=hpxg #使用hpxg分区
2.相关指令
①运行以下命令查看计算节点的状态信息
sinfo
其中 STATE
常见的有
alloc
,节点已经被分配给作业任务down
,节点当前不可用drain
,节点被管理员设置为退出服务idle
,节点当前空闲mix
,节点有部分计算资源已被分配,还有部分资源空闲可用
②作业运行状态
squeue
squeue
显示的信息包括以下内容
JobID
,作业编号PARTITION
,作业在哪个分区上运行NAME
,作业名称,默认是作业脚本的名字USER
,作业的所有者ST
,作业当前状态,详见 Job State Codes,常见的有CG
作业正在完成F
作业失败PD
作业正在等待分配资源R
作业正在运行
TIME
,作业已运行时间NODES
,作业占用的计算节点数NODELIST
,作业占用的计算节点名(REASON)
,作业正在等待执行的原因,详见 Job Reason Codes,常见的有AssoGrpCpuLimit
导师名下所有学生正在使用的CPU总数达到了导师开通的CPU数量限额AssoGrpGRES
导师名下所有学生正在使用的GPU总数达到了导师开通的GPU数量限额Priority
作业正在排队等待QOSMinGRES
提交到GPU分区的作业没有申请GPU资源
③进入运行节点查看资源占用
ssh 计算节点名
- 在计算节点上,使用
top
命令可以查看程序使用 CPU 的状况 - 如果是 GPU 程序,在计算节点上使用
nvidia-smi
命令可以查看程序使用 GPU 的状况 - 用户有程序正在运行的计算节点才允许登录
④取消作业
如果用户要取消作业,先运行 squeue
命令查询作业编号数字 JobID
,然后运行以下命令取消作业
scancel JobID
如果要取消用户的所有作业
scancel -u 用户名
六、常见问题
问题1: -bash: conda: command not found
vim ~/.bashrc
最后一行加入:
export PATH=$PATH:/project/liuyuhao/miniconda3/bin
source ~/.bashrc
#更新配置文件
问题2: 删除了 .bashrc 或者 .bash_profile
cp /etc/skel/.bash* ~/
问题3: 提示 ): No such file or directory bad interpreter(/bin/bash
删除yolo.sbatch 重新创建yolo.sbatch,重新提交任务
rm yolo.sbatch
vim yolo.sbatch
参考网址:
1.武汉大学超算中心
武汉大学超算入门介绍相关推荐
- .NET读写Excel工具Spire.Xls使用(1)入门介绍
原文:[原创].NET读写Excel工具Spire.Xls使用(1)入门介绍 在.NET平台,操作Excel文件是一个非常常用的需求,目前比较常规的方法有以下几种: 1.Office Com组件的方式 ...
- 独家 | 集成学习入门介绍
作者:Jason Brownlee 翻译:wwl 校对:王琦 本文约3300字,建议阅读8分钟. 本文介绍了我们在生活中的许多决定包括了其他人的意见,由于群体的智慧,有的时候群体的决策优于个体.在机器 ...
- SpringBoot 2.0 系列001 -- 入门介绍以及相关概念
为什么80%的码农都做不了架构师?>>> SpringBoot 2.0 系列001 -- 入门介绍以及相关概念 什么是SpringBoot? 项目地址:http://proje ...
- ECC加密算法入门介绍
作者 : ZMWorm[CCG] E-Mail: zmworm@sohu.com 主页 : Http://ZMWorm.Yeah.Net/ 前言 同RSA(Ron Rivest,Adi S ...
- [翻译][1.4.2]Flask-Admin入门介绍
为什么80%的码农都做不了架构师?>>> #Flask-Admin入门介绍 ##让我们荡起双桨 初始化 Introduction To Flask-Admin Getting ...
- 谷歌大脑科学家亲解 LSTM:一个关于“遗忘”与“记忆”的故事 本文作者:奕欣 2017-01-14 09:46 导语:AI科技评论保证这是相对通俗易懂的一篇入门介绍了,看不懂的话欢迎关注「AI 科技
谷歌大脑科学家亲解 LSTM:一个关于"遗忘"与"记忆"的故事 本文作者:奕欣 2017-01-14 09:46 导语:AI科技评论保证这是相对通俗易懂的一篇入 ...
- Tomcat容器入门介绍
Tomcat容器入门介绍 Tomcat环境配置 PS:JDK的安装这里就不讲了,找到安装包直接下一步下一步就行了. 1.配置JDK 在Windows10下,找到环境变量 在环境变量中添加JDK主目录 ...
- QWT中Qdial的入门介绍
最近使用了一下QWT.因为是第一次使用,所以有一些需要注意的地方,特记录在此,以供后来者参考. 1,QWT的安装与配置环境 有关QWT的安装与配置,网络上已经有很多篇文章,这里就不再重复了.介绍一下自 ...
- Spring入门介绍:
Spring入门介绍 Spring诞生: 创建Spring的目的就是用来替代更加重量级的的企业级Java技术 简化Java的开发 基于POJO轻量级和最小侵入式开发 通过依赖注入和面向接口实现松耦合 ...
最新文章
- 经典!工业界深度推荐系统与CTR预估必读的论文汇总
- Node.js EventEmitter
- 离线地图解决方案(二):地图基本控制
- cumprod--累积连乘
- C语言易错题集 第三部
- LiveVideoStack冬季招聘(高级策划编辑,市场BD主管)
- 团队项目—第二阶段第三天
- java释放对象_在Java中释放Semaphore对象的正确方法是什么...
- 常用的Oracle命令整理
- Tomcat的安装及配置。
- mybatis的mysql参数传递_Mybatis参数传递及返回类型
- NETTY keeplive 参数,心跳检测
- CentOS7或7以上,无iptable解决方法
- GitHub上的那些LGTM和WIP代表什么
- 电容的作用?电容器的作用?
- Unity开发VR项目(四)—— 创建VR场景
- Android项目:基于安卓Android校园零食配送系统app(计算机毕业设计)
- 认识计算机微课导学单,微课“任务单”与“导学案”之比较
- alpha测试和beta测试的区别 .
- 协变量偏移_恶意软件分类的协变量偏移
热门文章
- 比尔盖茨离婚,平分8000亿! 用5张图看看微软的发展史
- plantuml 依赖_PlantUML入门
- 2011年国家质监局公布女生禁用以下化妆品系列,女生一定要...
- multiple definition of `yylloc‘
- python一键将所在文件夹下的所有jpg转为ico图标
- python制作连点器_python群聊工具实现(上)
- Win10查看回收站清空超过1万个文件,占用资源高造成系统卡死,删除失败
- DSP28035的CAN通讯程序
- 不同型号的二极管模块并联_2.5 变频器的并联
- 软件工程个人作业-软件案例分析