目录

Slurm系统

78 10.4~13.4 分钟 4684

一、环境创建

  1. 加载conda模块

    module load anaconda3/2023.09
  2. 开启网络代理

    source /APP/u22/ai_x86/toolshs/setproxy.sh 172.16.31.200 3138
  3. 创建环境

    conda create -n <环境名> python=<版本> -y

二、环境使用

  1. 激活环境

    source activate <环境名>
  2. 配置镜像源

    pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
  3. 安装pytorch

    pip install torch==2.10.0+cu126 torchvision==0.25.0+cu126 torchaudio==2.10.0+cu126 -f https://mirrors.aliyun.com/pytorch-wheels/cu126

三、作业管理​

1. sinfo

显示系统资源使用情况

PARTITION

AVAIL

TIMELIMIT

NODES

STATE

NODELIST

ai

up

infinite

4

drain*

an[48,69-70,72]

ai

up

infinite

1

drng

an65

ai

up

infinite

6

mix

an[45-47,50-51,53]

ai

up

infinite

1

alloc

an49

2. squeue

显示作业状态

JOBID

PARTITION

NAME

USER

ST

TIME

NODES

NODELIST(REASON)

85205

ai

test

pxy546

PD

0:00

1

(Priority)

3. scancel

用于取消已提交的作业

scancel <作业ID>

4. sbatch

用于批处理作业提交

  • 命令示例

    sbatch <脚本.sh>
  • 脚本示例

    #!/bin/bash
    #SBATCH --job-name=<作业名称>
    #SBATCH --partition=<指定分区/ai>
    #SBATCH --time=<运行时间/天-时:分:秒>
    #SBATCH --gres=<GPU资源/gpu:a800:4>
    #SBATCH --nodes=<节点数量/1>
    #SBATCH --cpus-per-task=<单节点CPU数/16>
    #SBATCH --ntasks-per-node=<单节点任务数/1>
    #SBATCH --chdir=<工作目录>
    #SBATCH --nodelist=<节点列表>
    #SBATCH --exclude=<排除节点>
    #SBATCH --output=<输出文件>
    #SBATCH --error=<错误文件>
    
    # 模块和环境加载
    module load anaconda3/2023.09
    source /APP/u22/ai_x86/toolshs/setproxy.sh 172.16.31.200 3138
    source activate <环境名>
    
    # 核心代码
    torchrun --standalone --nnodes=1 --nproc-per-node=1 tools/train.py

5. salloc

用于分配模式作业提交

  • 命令示例

    salloc --<参数名>=<参数值> ...
  • 使用方法

    1. 获取作业ID

      squeue
    2. 加入节点

      ssh <作业ID>