为了更好地为超算用户服务,科学与工程计算中心工程师将debug做了一点小小的优化,并已经上线提供服务,欢迎各位使用。
debug队列的用处有哪些?
用处一:新用户熟悉超算
当我们申请了超算账号,开始阅科学工程计算中心网站上的太乙用户手册和FAQ,准备大展拳脚测试使用时候从哪里入手?
欢迎从使用debug队列开始熟悉太乙集群的节点配置和使用方法。
比如:bhosts hg_debug 命令可以查询debug队列的
xxxxxxxxxx
$ bhosts hg_debug
HOST_NAME STATUS JL/U MAX NJOBS RUN SSUSP USUSP RSV
r13n44 ok - 40 0 0 0 0 0
r13n45 closed - 40 40 40 0 0 0
r13n46 ok - 40 0 0 0 0 0
r13n47 closed - 40 40 40 0 0 0
用处二:课堂教学活动
当同学们选了计算材料学,计算与编程等课程时,需要快速输出验证自己课堂练习的代码。
例如:
单节点单线程编译测试helloword
xxxxxxxxxx
#BSUB -J 1node1core ##job name
#BSUB -q debug ##queue name
#BSUB -n 1 ##number of total cores
#BSUB -R "span[ptile=1]" ##cores per node
#BSUB -W 00:01 ##walltime in hh:mm
#BSUB -e %J.err.log ##error log
#BSUB -o %J.output.log ##output log
hostfile=`echo $LSB_DJOB_HOSTFILE`
NP=`cat $hostfile | wc -l`
cd $LS_SUBCWD
module purge
module load gcc/8.2.0
gfortran helloworld.f90 -o helloworld
./helloworld > $LSB_JOBID.log 2>&1
注意:计算资源申请量应该遵循最小化原则,此处我们只申请了1个核心和最大1分钟的运行时间,来编译和测试简单的代码。
用处三:测试不熟悉的任务
当你需要知道自己新编译的程序能否正常运行,欢迎使用debug队列来测试。
单节点并行测试:
xxxxxxxxxx
#BSUB -J 1node2coers ##job name
#BSUB -q debug ##queue name
#BSUB -n 2 ##number of total cores
#BSUB -R "span[ptile=2]" ##cores per node
#BSUB -W 00:10 ##walltime in hh:mm
#BSUB -e %J.err.log ##error log
#BSUB -o %J.output.log ##output log
hostfile=`echo $LSB_DJOB_HOSTFILE`
NP=`cat $hostfile | wc -l`
module purge
module load intel/2018.4 mpi/intel/2018.4
mpirun -np $NP testprogram > $LSB_JOBID.log 2>&1
注意:按计算资源申请量最小化原则,此处我们只申请了2个核心和最长10分钟的运行时间。
跨节点并行测试:
xxxxxxxxxx
#BSUB -J 2nodes2cores ##job name
#BSUB -q debug ##queue name
#BSUB -n 4 ##number of total cores
#BSUB -R "span[ptile=2]" ##40 cores per node
#BSUB -W 00:10 ##walltime in hh:mm
#BSUB -e %J.err.log ##error log
#BSUB -o %J.output.log ##output log
module purge
module load intel/2018.4 mpi/intel/2018.4
cat $LSB_DJOB_HOSTFILE|sort|uniq >hostlist
NP=2
export OMP_NUM_THREADS=2
mpiexec.hydra -machinefile hostlist -np $NP testprogram
注意:基于计算资源申请量最小化原则,此处我们只申请了2个节点,每个节点2核,上面的lsf脚本中设置了NP=2也可以测试两个节点,每个节点1个线程,每个线程用2个核的MPI/OPENMP混合并行编程任务(MPI OpenMP hybrid job)。export OMP_NUM_THREADS=2 限制了每个节点上的1个线程调用2个核计算。-machinefile hostlist 参数使任务平均分配到申请的节点上去运行。
debug队列的特点有哪些?
基于以上三个用途,太乙debug队列更新后特点如下:
特点一:增加至4个刀片节点,每个节点最大可用40核心,最大可同时提供160核
特点一:最长运行时间20分钟,快进快出,长时间任务请转隔壁short,medium,large队列
特点二:单个任务最多2个节点,用于测试跨节点任务
问答
Q: 发现debug队列有没有空余资源,等待时间超,该如何反馈?
A:可以将问题描述发邮件到hpc@sustech.edu.cn反馈,工程师收到邮件后会第一时间处理。
Q:其他队列使用率过高,我想在debug队列运行常规计算任务,能延长时间限制吗?
A:不能。debug队列更新的目的是方便用户快速测试和调试程序,常规计算任务请投递到其他队列
Q: 胖节点,gpu节点资源有测试节点吗?
A:没有。请将需求建议提交邮件发送到hpc@sustech.edu.cn,我们会根据后续用户反馈和需求,进一步制定计划,优化集群,提升服务质量。