集群Slurm使用教程

批量提交任务示例:

job_cpu.sh

#!/bin/bash

### 设置该作业的作业名
#SBATCH --job-name=ikdmmt

### 指定该作业需要2个节点数
#SBATCH --nodes=2

### 该作业需要8个CPU
#SBATCH --ntasks=8

### 作业脚本中的输出文件
#SBATCH --output=job_cpu.%j.out

### 程序的执行命令
#nvidia-smi 
cd /home/pengru/inverseKD-mmt/
python demo.py

job_gpu.sh

#!/bin/bash

### 该作业的作业名
#SBATCH --job-name=ikdmmt

### 该作业需要1个节点
#SBATCH --nodes=1

### 该作业需要1个CPU
#SBATCH --ntasks=1

### 申请1块GPU卡
#SBATCH --gres=gpu:4

### 作业脚本中的输出文件
#SBATCH --output=job_gpu.%j.out

### 将作业提交到对应分区;
#SBATCH --partition=gpu    

### 程序的执行命令
nvidia-smi 
cd /home/pengru/inverseKD-mmt/
python demo.py

Tmux使用教程

Tmux使用教程1: 终端工具推荐-TMUX_FPGA-ALGOer的博客-CSDN博客

Tmux使用教程2: 我的tmux之旅(tmux使用详解) - 小莫的博客-fighting(技术分享、生活随笔)

交互式提交任务:

原理:开一个后台申请到一个GPU节点后,其他后台都可以连这个GPU节点;

          一次最多10个后台连该GPU节点,否则服务器会断开;         

  1. 用sinfo查看哪些GPU是idle(空闲状态);
  2. 用Tmux 打开主后台窗口:  tmux new -s gpu1; 
  3. 指定一个GPU节点:salloc --nodelist gpu1 --gres=gpu:x --ntasks x (取决于在gpu1下跑几份代码*4)             指定一个CPU节点: salloc --nodelist cpu10 --ntasks 48;
  4. ssh gpu1 / ssh cpu1;
  5. 若切换虚拟环境:conda activate $envs_name;
  6. 查看显卡占用情况:watch -n 1 nvidia-smi;
  7. 注:该后台不跑代码,用Tmux Ctrl+b, d 分离出该会话;

     --------------------------------------------------------------------------------------------

  1. 用Tmux打开新的后台窗口:tmux new -s demo;
  2. 连接之前分配的GPU节点:ssh gpu1;
  3. 若切换虚拟环境:conda activate $envs_name;
  4. 查看显卡占用情况 watch -n 1 nvidia-smi;
  5. cd到代码目录;   
  6. 修改脚本中CUDA设备,CUDA_VISIBLE_DEVICES=xx,运行代码1 code.sh;
  7. Tmux Ctrl+b d 分离出该会话;

     --------------------------------------------------------------------------------------------

  1. Tmux关闭后台窗口;(tmux kill-sesssion -t demo,销毁所有会话并停止:tmux kill-server)
  2. exit两次退出节点,释放所申请资源;
  3. Scancel jobID;
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于slurm使用教程,你可以参考以下步骤: 1. 首先,确保你已经在你的系统上安装了slurm。你可以从slurm官网下载适合你系统的软件包。 2. 一旦安装完成,你需要配置slurm。你可以根据你的需求修改配置文件,如slurm.conf。这个文件包含了各种有关集群和作业调度的设置。你可以根据需要设置集群的节点、作业队列、资源限制等信息。 3. 在配置完成后,你可以启动slurm服务。使用命令行工具或者slurm提供的脚本,启动slurm控制守护进程(scontrol daemon),它负责集群的管理和作业调度。 4. 现在,你可以开始使用slurm来提交作业了。使用sbatch命令来提交一个作业脚本,该脚本描述了你要运行的作业的详细信息,如任务数、CPU核心数、内存需求等。提交作业后,slurm会根据你的配置和集群的资源情况来调度作业。 5. 你可以使用squeue命令来查看当前正在运行和等待运行的作业列表。使用scontrol命令可以查看更多有关作业和集群的信息,如作业状态、节点状态等。 6. 当你的作业完成后,slurm会将结果输出到指定的文件中。你可以使用sacct命令来查询作业的运行情况和结果。 总结起来,使用slurm的基本步骤包括安装slurm、配置slurm、启动slurm服务、提交作业、监视作业状态和结果。这些步骤可以帮助你充分利用slurm来管理和调度你的集群作业。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [集群Slurm使用教程](https://blog.csdn.net/pengru120/article/details/120868403)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [slurm安装指南](https://download.csdn.net/download/yttjupiter/4300960)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [slurm 使用教程](https://blog.csdn.net/funnyPython/article/details/114315004)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值