【环境配置】Slurm作业调度运行python文件

本文介绍了SLURM资源管理系统,它是大型计算集群常用的作业调度和管理工具。通过`sbatch`命令提交作业,`sinfo`获取系统信息,了解分区名称以避免错误。在.sh文件中激活Anaconda环境并运行Python脚本,最后使用`sacct`检查作业状态。文章还提供了遇到问题时如何解决的实例,如检查partition名称。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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]工作站使用指南

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值