我有一个用于提交的 SLURM 作业sbatch
,例如
sbatch --gres gpu:Tesla-V100:1 job.sh
job.sh
在 V100 GPU 上训练模型。代码本身不记录 GPU 内存使用情况。
作业完成后,是否有一个 SLURM 命令来查询峰值 GPU 内存使用情况?
答案1
我不确定是否有可能找到由运行 sbatch 作业本身引起的负载。但您可以尝试检查显卡的一般利用率指标。据我了解,对于 nvidia 来说nvidia-smi工具。我发现其他工具提到这个问题。
因此我建议安装 nvidia-smi,并在单独的终端窗口中使用以下命令运行它:
watch nvidia-smi
然后运行你的工作。你应该可以实时将变化加载到你的卡上。
还有一种可能性 - 使用以下方式追踪您的工作 其他分析器。不幸的是,我没有 nvidia 卡,无法检查任何这些工具,但我想这会对你的调查有所帮助。
答案2
在与我们的 HPC 团队的员工交谈后:
SLURM 不会记录使用 提交的正在运行的作业的 GPU 内存使用情况sbatch
。
因此,无法使用任何 SLURM 命令恢复此信息。例如,以下命令
ssacct -j [job id]
确实显示了一般内存使用情况,但没有显示 GPU 内存使用情况。