常见使用问题

发布者:系统管理员发布时间:2026-01-04浏览次数:13

一、二次验证登录设置:

系统使用ssh/sftp方式登录,在开通账号后,除普通账号/密码外,还需要设置二次验证登录,请参考:二次验证码设置方式.pdf

二、Module软件环境变量管理:

各系统均使用module工具进行软件环境变量的管理,以下以瀚海25系统上使用作为参考举例

使用module命令对各使用软件的环境变量进行加载,请根据需要自行选择需要加载的内容,建议使用各软件的最新版本。

module命令常用参数举例介绍:

2.1、查看可用环境变量module avail [软件名]

例:查看所有可用环境变量:module avail

2.2、加载需要的环境变量

例:加载nvhpc/22.7版本编译器,并查看加载后的情况:

[scc@hanhai25-01 ~]$ module load nvhpc/22.7

[scc@hanhai25-01 ~]$ module list

Currently Loaded Modulefiles:

  1) nvhpc/22.7

[scc@hanhai25-01 ~]$ which mpirun

/opt/hpc_sdk/2022_227/Linux_x86_64/22.7/comm_libs/mpi/bin/mpirun

以上显示加载成功。

其他软件的环境变量类似操作,根据需要加载对应版本软件

2.3、设置环境变量长期有效

可将加载命令放入个人帐号下的~/.bashrc文件中,以免去每次登录都需要执行加载命令。

编辑~/.bashrc文件,将加载命令写入其中,保存退出后,执行命令source ~/.bashrc使设置生效,即可使用加载的软件。

2.4、卸载已加载的环境变量

例:[scc@hanhai25-01 ~]$ module list

Currently Loaded Modulefiles:

 1) nvhpc/22.7

[scc@hanhai25-01 ~]$ module unload nvhpc/22.7

[scc@hanhai25-01 ~]$ module list

No Modulefiles Currently Loaded.

2.5、加载文件冲突

加载同一种软件的多个版本可能会遇到冲突的错误提示,请先把前一个版本的卸载掉,之后再加载需要的文件。

若完全卸载所有的已加载环境变量,可使用module purge命令。

2.6、其他:

查看module命令其他参数详细介绍: man module

查看加载的环境变量文件内容: module show [软件名]

例:module show nvhpc/22.7

2.7、计算节点自动加载module问题

可以在作业脚本的开始加上 . /etc/profile

 

三、Slurm作业调度系统:

3.1、slurm常用命令说明:

  sinfo:查看节点及队列信息

  squeue:查看队列信息

  sbatch:提交批处理作业,非交互式作业用户请使用此命令提交作业脚本

  srun:交互式提交并行作业,先提交作业命令,后分配到节点,然后交互式操作

  salloc:此命令禁止使用。分配式提交作业,先申请到节点资源,再交互式操作程序命令。

  scancel:终止作业

  sacct: 查看历史作业信息

  scontrol:查看队列、节点及作业详细信息

  scontrol show jobs:查看作业详细信息

  scontrol show nodes:查看节点详细信息

  scontrol update jobid=JOBID <TAB><TAB>,输入作业号之后,按2tab按键,查看可以修改的作业参数。只能操作排队中的作业

  scontrol show partition:查看队列详细信息

  sacctmgr list qos:查看QOS详细信息

  sload:查看节点负载等信息

  speek:查看作业输出

  jload:查看作业号对应的节点负载等信息

 各命令的详细使用方法介绍,请使用命令例如man sinfo等查看


3.2、提交作业命令的常用参数介绍:

slurm系统使用脚本文件的方式提交作业,以下以your_job_command软件的脚本文件job_example.slurm为例介绍主要设置参数,实际计算时请根据需要自行修改设置。

以下为vasp.slurm的脚本文件里内容:

#!/bin/bash

#SBATCH -J job-test

#SBATCH -o %j.out

#SBATCH -e %j.err

#SBATCH -p CPU-256C768GB

#SBATCH -N 1

#SBATCH -n 256

#SBATCH --time=5-00:00:00

#SBATCH --qos=qos_cpu-256c768gb

cd $SLURM_SUBMIT_DIR

mpirun your_job_command

 

使用命令sbatch job_example.slurm提交作业。

参数说明:

-J 指定作业名字

-o 指定作业标准输出文件,%j对应作业号,作业结束时生成 作业号.out 文件,文件生成在作业提交的目录下。

-e 指定作业标准错误输出文件,作业异常退出时生成 作业号.err 文件,请仔细查看错误信息提示。

-p 指定作业提交的队列,根据实际需要选择。

-N 指定作业申请节点数,根据实际需要设定。

-n 指定作业申请进程数即核数,根据实际需要设定。

--gres= 指定需要的资源,例如需要一个gpu: --gres=gpu:2,如作业是跨节点的,则表示每个节点申请2gpu

--time= 指定作业运行的最长时间.以上举例中为2天,后边分别代表小时:分钟:秒

--qos= 指定作业使用的qos,各分区不一样。

cd $SLURM_SUBMIT_DIR 切换到作业提交的目录,保障在计算节点上时,环境变量顺利找到相应的作业文件。

mpirun your_job_command 使用mpirun执行your_job_command命令。请替换为自己实际需要的执行程序。

 

更多参数请man sbatch查看,其他举例参数:

$SLURM_JOB_NODELIST 作业运行时分配的节点名

$SLURM_JOB_CPUS_PER_NODE 作业每个节点使用的cpu核数

$SLURM_JOB_NUM_NODES 作业分配的节点数量

$SLURM_NPROCS 要加载的进程数

--ntasks-per-node= 每节点启动的进程数

--exclusive 申请独占某个节点使用

--get-user-env 获取当前的环境变量

-D, --chdir=<directory> 指定工作目录

-w 指定作业运行时需要有的节点,例如限定作业至少运行在anode001节点上: -w anode001

 

四、常用软件使用举例

4.1Gaussian软件使用举例说明

说明:

1.超算中心购买的高斯软件版本为: G09 D.01G16 C.01(支持v100GPU)C.02(支持a100 GPU)安装在/opt/gaussian目录下,该软件具有全校正版版权。g16 windows版本、GaussView6+GMMX软件,下载地址http://i.ustc.edu.cn/->正版软件->高斯。

2.用户使用前需检查自己帐号是否拥有使用权限,没有权限的请向中心提出申请。仅限科大校内师生用户可以申请使用。

3. slurm设置参数-n的数值要与高斯计算输入文件里设置使用cpu核数(%nproc%CPU)的参数数值保持一致,否则申请使用核数与计算使用核数不一致,实际开启进程数为输入文件里设置使用cpu核数.

4.仅可单节点内并行计算,不支持跨节点并行计算。

5.权限查看命令:id 账号名,例如 id pirate

 uid=10002(pirate) gid=10001(nic) =10001(nic),10002(gaussian)

 用户属组里有gaussian则有权限使用,没有则没权限。校内师生可向中心申请增加权限。

6.举例:脚本文件gaussian.slurm内容如下

  #!/bin/sh

 #SBATCH -J jobname

  #SBATCH -o %j.log

  #SBATCH -e %j.err

  #SBATCH -N 1 -n 64

  #SBATCH -p CPU-256C768GB

   #SBATCH --qos=qos_cpu-256c768gb

  echo Time is `date`

  echo Directory is $PWD

  echo This job runs on the following nodes:

  echo $SLURM_JOB_NODELIST

  echo This job has allocated $SLURM_JOB_CPUS_PER_NODE cpu cores

  module load gaussian/g16.c02

  g16 123456.gjf

 提交作业命令:sbatch gaussian.slurm

 7.高斯作业使用GPU的设置:

 当使用GPUs时,每个GPU进程必须由一个CPU进程控制。该CPU应该在物理架构上更靠近所控制的GPU,并且GPUs不能共享CPUs控制。另外需要注意,用于控制GPUCPUs不能再用于做进程计算核心。

 %GPUCPU命令设置:用于计算的GPUs及用于控制的CPUs可通过Link 0部分使用%GPUCPU命令指定。此命令有一个参数:%GPUCPU=gpu-list=control-cpus,其中gpu-listGPU列表(用逗号隔开),也可以是数值范围(例如,0-4,6)control-cpus为相似格式的控制CPU列表,这两列的内容是GPU及控制CPU。例如:

   %CPU=0-39        %nproc=40

   %GPUCPU=0-1=0-1     %GPUCPU=0,1=3,6

注意:control-cpus必须在%CPU的参数范围内,且实际计算时并不参与计算。

第一种设置方法:向服务器申请0-39号共40CPU核,0-1号共2GPU核心,以及控制GPU核心上进程的0-1号共2CPU核。参数中使用核心皆连续,此种%CPU设置方法优先使用,因计算是程序进程与使用核绑定,减少缓存损失,效率较高;

第二种设置方法:向服务器申请40CPU核,0,1号共2GPU核心,以及控制GPU核心上进程的3,6号共2CPU核。参数中使用核心不连续,此种%nproc的设置方法也可以使用,但效率略差于第一种方法。


4.2 vasp软件使用举例说明

说明:

以下为vasp.slurm的脚本文件里内容:

#!/bin/bash

#SBATCH -J vasp-job

#SBATCH -o %j.out

#SBATCH -e %j.err

#SBATCH -p CPU-256C768GB

#SBATCH -N 2

#SBATCH -n 512

#SBATCH --qos=qos_cpu-256c768gb

cd $SLURM_SUBMIT_DIR

module load vasp/6.4.1/oneapi2025.2_mkl_mpi

mpirun vasp_std

 使用命令sbatch vasp.slurm提交作业,申请2个节点共512CPU核进程并行计算,请根据实际需要加载合适的环境变量及修改参数。

 

4.3matlab软件使用举例说明:

说明:

  超算中心购买了matlab计算软件及其工具箱的正版版权,全校在校的师生均可使用,非在校师生及校外人员不可使用。超算中心服务器上matlab的安装路径为/opt/MATLAB,用户使用前需使用module加载设置环境变量:

[scc@hanhai25-01 ~]$ module avail matlab

-------------------- /opt/MODULES/app --------------

matlab/2022a

[scc@hanhai25-01 ~]$ module load matlab/2022a

[scc@hanhai25-01 ~]$ module list

Currently Loaded Modulefiles:

  1) matlab/2022a

[scc@hanhai25-01 ~]$ which matlab

/opt/MATLAB/R2022a/bin/matlab

   2) 采用matlab -r inputfile 方式提交时,输入文件inputfile.m需要去除.m的文件扩展名。

说明:以下为matlab.slurm的脚本文件里内容:

#!/bin/bash

#SBATCH -J matlab-job

#SBATCH -o %j.out

#SBATCH -e %j.err

#SBATCH -p CPU-256C768GB

#SBATCH -N 1

#SBATCH -n 256

#SBATCH --qos=qos_cpu-256c768gb

cd $SLURM_SUBMIT_DIR

module load matlab/2022a

matlab -r inputfile > result

 使用命令sbatch matlab.slurm提交作业,申请1个节点共40CPU核进程并行计算,请根据实际需要加载合适的环境变量及修改参数。