查询已完成作业使用的峰值 GPU 内存

查询已完成作业使用的峰值 GPU 内存

我有一个用于提交的 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 内存使用情况。

相关内容