各位超算用户:
为保证所有用户都能有序合理地使用超算资源,现提出以下超算平台使用规范,请所有用户遵照执行,共同营造一个高效、和谐的计算环境。
1、 DEBUG队列,供新用户熟悉环境,及简单调试用
用于作业的调试,在DEBUG队列上,每个用户同时只可以提交1个作业,作业运行时长不超过1个小时。超时自动删除。
DEBUG队列采用的是hygon处理器,不适用于需要使用intel编译环境的软件调试,比如gauss16
2、 Slurm脚本中请同时写上-N和-n参数
#SBATCH -N 1 --使用的节点数(comput队列每个节点40个核,fat队列每个节点192核,请计算好自己需要几个节点)
#SBATCH -n 20 --使用的总核数
总核数只能设置为20的倍数,20,40,60,80,100,120…如果出现胡乱设置的情况,管理员有权删除作业,重犯3次则停用账号1个月。 —— 不同队列所含节点的核数不同,更换队列时请检查好节点数和总核数之间的关系。否则影响正常使用
使用客户端进行提交作业的软件使用人请遵照执行。无法查证使用人的,按上述规定,重犯3次则停用软件1个月。
3、 请根据实际情况选择合适的comput队列。
队列名称 |
优先级 |
单用户最大运行作业数 |
队列最大运行作业数 |
作业最长运行时间 |
comput20 |
高 |
2 |
40 |
12小时 |
comput40 |
中 |
3 |
20 |
48小时 |
comput80 |
低 |
2 |
10 |
1440小时 |
1)如果您的作业规模较小,或运行时间短,可以提交到comput20队列,该队列权限最高,可以最快得到资源计算,但是作业最长运行时间只有12小时,超过12小时,作业自动终止。
如作业需要80个核,但是能在12小时内完成,可以提交到该队列,以下同理,队列只限制作业运行时间,不限制核数;
2)48小时内运行完的作业,可提交到comput40队列;
3)comput80队列适用于长时间的作业运行,单个作业核数不少于40核。
4、单个小作业
使用核数<=10个的小作业,请提交到I950队列进行计算。使用GPU资源的除外。
5、 多个小作业
用户同时有多个小作业需要提交,可以在comput上提交,但是请将同一用户的多个小作业都提交在同一个计算节点上,且多个作业使用的总核数为20的倍数。
指定节点提交作业,需在脚本中添加一行“#SBATCH -w节点名称”
例如:user1有4个作业,每个作业只需要使用10个核。
方法一,提交到I950队列执行,脚本设置“#SBATCH -p I950”,不用理会-w参数;
方法二,用sinfo或sview查看平台节点使用情况,查询到comput20是空闲节点,则为每个作业的slurm脚本修改-w参数 “#SBATCH -w comput20”,逐个提交到comput队列指定节点执行。
6、大内存作业和多核数作业
如作业对内存的需求较大(>200G)或对核数要求较多(>80核),请提交到I950队列或fat_s队列,教师账号还可提交到fat队列。
7、 使用C,Java,Python等编程语言进行自编代码的作业,以及简单命令的执行
可以自编SBATCH脚本,也可以简单使用“srun -p I950 -w comput1 ***.sh”的方式进行提交。
例如:查看指定节点gpu8的gpu卡使用情况:srun -p gpu1 -w gpu8 nvidia-smi;或提交简单的python脚本:srun -p I950 -w fat5 python test.py
提醒:自编代码,如果没有使用并行或 MPI ,申请多个核是无意义的,一般程序只会在 1 个核心上进行计算,此时,请参考第 3,4 项内容。
8、GPU队列中的每一台服务器都包括了CPU资源和GPU资源,CPU资源的使用参考规范执行,GPU资源的使用按本条规范执行
1) 使用自动分配GPU卡的方式进行提交作业。不允许指定节点指定卡提交作业,以避免多个作业占用同一张卡的情况。
自动分配GPU卡相关命令请参看samples下的python.slurm。重点语句如下:
NP=$SLURM_JOB_GPUS
CUDA_VISIBLE_DEVICES=$NP python3 train.py > gpu.log
标红部分为固定格式,必须包含。其他部分按实际情况调整
2) 每个作业最多允许申请两块GPU资源。
#SBATCH --gres=gpu:1 或 #SBATCH --gres=gpu:2
如果写成其他 管理员有权删除作业,并停止用户使用gpu的权限。
3) 申请资源数与实际使用数必须保持一致。
4)资源的分配统一在sbatch脚本中进行设置,代码中不允许再重复出现资源分配的代码,如指定gpu卡资源的语句:os.environ[“CUDA_VISIBLE_DEVICES”] = 0或device = torch.device(‘cuda:0’);设置数据分布模式的语句:distributed_backend="ddp"等
作业运行后请使用nvidia-smi命令查看是否分配正确,如果分配到已经有用户在用的GPU卡,请告知管理员核查问题原因并处理。
请所有用户遵照执行,合理使用公共资源,不盲目抢占,如有特殊情况,特殊需求,请提前与管理员沟通解决~
感谢您的大力支持~~
广西大学超算中心
2024-01-01