技术文档



高性能计算平台使用指南

module

module 是linux下的一个用来管理不同环境的软件,每个用户所需要的环境不同,并且需要在软件的不同版本之间切换,modules就可以方便的管理当前用户所处的环境。
显示当前可用的软件清单
module avail
将cuda/9.2的环境变量路径加入当前用户的环境当中
module load cuda/9.2
查看已装载的软件
module list 
卸载当前的cuda并重新module load其他版本的cuda.
module unload cuda/9.2
module load cuda/9.0
使用anaconda
anaconda是一个python的数据科学平台,anaconda的特点是拥有大量的科学包和一些依赖项,相对于python不用自行下载相关的包,anaconda支持创建虚拟环境,可以让不同用户在自己的环境下安装和管理包。
加载anaconda
module load anaconda2/5.3.0
创建用户自己的环境 tf
conda create -n tf
激活test4 环境并安装软件包
source activate tf
conda install numpy(包名)
查看当前环境里面已安装的包
conda list
退出当前的虚拟环境
source deactivate
查看所有的虚拟环境
conda env list
删除tf这个虚拟环境及其下面的所有包
conda remove -n tf —all
使用调度系统-SLURM
编写作业递交脚本
主要更改以下部分内容
作业名称 -J cae
资源需求 --gres=gpu:1
用户程序脚本
python -u train.py
vim run.sh
#!/bin/bash
#SBATCH -J Jobname
#SBATCH -p gpu
#SBATCH -N 1
#SBATCH --output=log.%j.out
#SBATCH --error=log.%j.err
#SBATCH -t 10:00:00
#SBATCH --cpus-per-task=4
#SBATCH --gres=gpu:1
module load anaconda3/5.3.0 cuda/9.0 cudnn/7.3.0
source activate tf
python -u train.py
递交作业
sbatch run.sh
交互式作业
    >srun -N1 -p gpu --gres=gpu:1 --pty bash
查看当前运行作业
[u2@head1]$ sq
JOBID    NAME  GRES     ST   USER       QOS       GROUP      PARTITION    PRIORITY   NODES TIME    NODELIST(REASON)
151      cae   gpu:1    R    u2         normal        u2         gpu       111036     1     0:36     node1
取消作业
scancel jobid
使用调度系统-PBS
作业脚本 run.sh
vi run.sh
#PBS -N Jobname
#PBS -l nodes=1:ppn=2
#PBS -q batch
#PBS -j oe
echo $PBS_O_WORKDIR
echo $PBS_NODEFILE
NCPUS=`wc -l $PBS_NODEFILE | awk '{print $1}'`
echo $NCPUS

#Run your executable
echo starting
cd $PBS_O_WORKDIR
#mpirun -np $NCPUS -machinefile $PBS_NODEFILE hostname
echo ending
递交作业
    qsub run.sh
查看作业
    qstat -an
取消作业
    qdel JobId

FAQ
Python 实时输出log
python -u



SimpleHPC 微信公众号