Slurm资源管理系统介绍

  SLURM (Simple Linux Utility for Resource Management)是一种可用于大型计算节点集群的高度可伸缩和容错的集群管理器和作业调度系统,被世界范围内的超级计算机和计算集群广泛采用。SLURM 维护着一个待处理工作的队列并管理此工作的整体资源利用。它以一种共享或非共享的方式管理可用的计算节点(取决于资源的需求),以供用户执行工作。SLURM 会为任务队列合理地分配资源,并监视作业至其完成。如今,SLURM 已经成为了很多最强大的超级计算机上使用的领先资源管理器,如天河二号上便使用了 SLURM 资源管理系统。

Slurm常用指令介绍

作业提交

  根据自己的需求写好.sh文件,然后用命令行提交写好的.sh文件

sbatch job.sh

获取帮助信息

sbatch --help

获取系统信息

  这是一个十分重要的信息,系统信息在参数赋值的时候会使用到。在我和同学尝试运行作业文件的时候,一直报错:no specificed partition,但是我们的作业文档是在学校系统里面直接复制过来的,只是在最后加了一个计算语句,后来通过查看系统信息才发现,高性能计算平台上partition定义的名称跟作业例子里使用的名称不一致,通过运行以下命令便可获得系统信息,输出的信息如下图,最左边的那一列才是partition名称,最后通过修改这个名称,我们便可以运行作业了,运行之后会输出一个作业的ID。

sinfo

运行python文件

  我们需要将定义的job.sh文件放在和python文件一个目录下,对于需要在自己定义的Anaconda环境中运行的python文件,应在sh文件中加上以下语句:注意这里使用的是source而不是conda。

source activate Anaconda-env-name

最后一切准备好之后,就可以在sh文件中加上python运行语句就行

结果测试

  cd到sh文件目录下,运行下面的命令

sacct -j ID-number

参考文献

[1]利用Slurm作业调度系统运行深度学习python文件
[2]【Linux】中南大学高性能计算平台深度学习环境配置(cuda10.1 torch1.7.1)
[3]【Linux】中南高性能计算平台配置mmdetection 2.10(cuda10.1)
[4]基于中南大学高性能计算平台进行深度学习训练(GPU的调用)
[5]中南大学高性能计算平台:使用anaconda注意事项记录
[6]北京大学高性能计算平台说明书
[7]工作站使用指南

Logo

更多推荐