关于GPU的一些备注

使用nvidia-smi查看一些GPU的情况

Processes 部分显示的是 在GPU设备上 计算或者Graphics Context 的进程列表;

所列的形式是以

GPU index 是现在使用的是哪个GPU 设备号

PID 给出相应的进程号

Type 给出是在GPU中使用的是计算(用C代表,常规的的计算)还是图形图像处理(用G代表,比如做图形渲染); “C+G” for the process having both Compute and Graphics contexts.

Process Name 是给出了当前的进程的名称

GPU Memory Usage Context在设备上使用的内存量。 在WDDM模式下运行时Windows不可用,因为Windows KMD管理的是所有内存,而不是NVIDIA驱动程序的。

Timestamp : 常常是以Day-of-week Month Day HH:MM:SS Year 的形式输出的

### SLURM 中 GPU 调度配置 在高性能计算环境中,为了充分利用GPU资源,在SLURM中可以采用特定的方法来配置和使用GPU进行作业调度。 #### 配置GPU支持 为了让SLURM识别并管理集群中的GPU设备,需确保安装了NVIDIA驱动程序以及CUDA工具包,并且已正确设置了`nvidia-smi`命令。接着要在SLURM配置文件(通常是`/etc/slurm.conf`)里定义每台节点上的GPU数量和其他属性: ```bash NodeName=node01 Gres=gpu:tesla:4 State=UNKNOWN PartitionName=normal Nodes=node[01-99] Default=YES MaxTime=INFINITE State=UP GresTypes=gpu ``` 这段配置指定了名为node01的节点拥有四个Tesla类型的GPU[^2]。 #### 提交带有GPU请求的任务脚本 当向SLURM提交需要访问GPU的应用时,可以通过SBATCH指令指定所需的GPU数目及其他参数: ```bash #!/bin/bash #SBATCH --gres=gpu:1 # 请求一块gpu卡 #SBATCH -p gpu # 使用gpu队列 #SBATCH -J my_gpu_job # 设置job名称 #SBATCH -o output_%j.txt # 输出日志路径 #SBATCH -e error_%j.err # 错误日志路径 module load cuda/11.2 # 加载cuda模块 nvcc program.cu -o program # 编译代码 ./program # 执行编译后的二进制文件 ``` 此批处理脚本会申请单个GPU来进行工作,并加载相应的环境变量以准备运行基于CUDA的应用程序。 #### MPS (Multi Process Service) 对于某些情况下的多进程应用来说,启用MPS服务可能有助于提高性能。通过让多个进程共享同一个CUDA上下文的方式减少开销。如果一个作业独占整张显卡,则可以根据其中是否存在诸如“mps-per-gpu”或者“mps-per-node”的备注信息决定是否开启对应的MPS守护线程[^1]。 例如,利用`scontrol show job <jobid>`查看具体作业详情,进而判断是否有必要启动MPS实例;也可以直接设置默认行为使得所有符合条件的新建作业自动激活该功能。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值