【GPU】计算集群Slurm使用

Motivation

之前从来没有用过集群,跑代码都是用单独的服务器,第一次上手组里的集群懵逼了一天。中文的博客大部分都写的很一般,有些我想知道的问题也找不到答案。所以就想着,自己一遍学习一边记录一下,做成一个入门的介绍,方便自己和其他新入门的朋友查看。

查看节点状态

  1. sinfo
  2. 输出参数的含义
    PARRITION:节点所在分区
    AVAIL:分区状态,up 标识可用,down 标识不可用
    TIMELIMIT:程序运行最大时长,infinite 表示不限制,如果限制格式为 days-houres:minutes:seconds
    NODES:节点数
    NODELIST:节点名列表
    STATE:节点状态,可能的状态包括:
    
    allocated、alloc :已分配
    completing、comp:完成中
    down:宕机
    drained、drain:已失去活力
    fail:失效
    idle:空闲
    mixed:混合,节点在运行作业,但有些空闲 CPU 核,可接受新作业
    reserved、resv:资源预留
    unknown、unk:未知原因
    如果状态带有后缀 *,表示节点没有响应
    
    参考博客:https://blog.csdn.net/u010797364/article/details/120724996?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~aggregatepage~first_rank_ecpm_v1~rank_v31_ecpm-2-120724996.pc_agg_new_rank&utm_term=slurm+查看节点状态&spm=1000.2123.3001.4430

节点信息查看

  1. scontrol show node

如何查看节点上GPU的型号等详细信息?

这里是我一开始懵逼的地方。如果是服务器其实可以直接nvidia-smi查看服务器的GPU配置。但是对于集群来说,个人的理解是,一开始登陆是在登陆节点上的,这个节点上你没有GPU,所以无法查看到GPU的信息。因此需要通过交互模式,进入一个有GPU的节点,获取到计算资源之后才可以查看。

  1. srun --pty --gres=gpu:1 bash 进入交互模式
  2. nvidia-smi

说明:
3. --pty进入交互任务(个人理解相当于把节点当成普通的服务器来用了)https://kb.iu.edu/d/awrz
4. bash表示的是run bash(个人理解相当于导入环境变量吧。。)

访问指定的partition

  1. srun --pty -p gpu -N1 --gres=gpu:4 bash
    -N表示任务的个数

运行过程中,节点被占用看不了显卡信息怎么办?

可以在训练的时候,加入这条语句,中间就可以打印某一时刻的显存占用了。

import os

os.system("nvidia-smi")

CPU信息查看

  1. cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l cpu的个数
  2. cat /proc/cpuinfo | grep "cpu cores" | uniq 查看cpu的核心数
  3. top 查看cpu占用率

作业脚本

  1. squeeze 查看当前所有作业
  2. scancel 根据给定的标号取消作业
  3. sbatch xxx.slurm 运行脚本
  4. watch -n 1 nvidia-smi 每一秒钟显示显卡状态

比较不错的博客

  1. https://blog.csdn.net/wudibaba21/article/details/107757770?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2aggregatepagefirst_rank_ecpm_v1~rank_v31_ecpm-5-107757770.pc_agg_new_rank&utm_term=srun+集群&spm=1000.2123.3001.4430
  2. https://blog.csdn.net/qq_40806289/article/details/103581181?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2aggregatepagefirst_rank_ecpm_v1~rank_v31_ecpm-6-103581181.pc_agg_new_rank&utm_term=srun+集群&spm=1000.2123.3001.4430

你可能感兴趣的:(效率工具,人工智能,linux,centos,神经网络)