我有一个mpi任务,使用sbatch脚本在slurm上运行,大致如下:
# request 384 processors across 16 nodes for exclusive use:
#SBATCH --exclusive
#SBATCH --ntasks-per-node=24
#SBATCH -n 384
#SBATCH -N 16
#SBATCH --time 3-00:00:00
mpirun myprog
我希望监视“myprog”进程的内存/CPU使用情况以及其他行为。 我编写了一个简单的脚本(称为“monitor”),可以做到这一点,但我不知道如何使用sbatch在每个分配的节点上同时运行它的一个副本和“myprog”。
我认为我需要修改上面的内容,使其类似于:
...
srun monitor
mpirun myprog
但我对以下两点感到困惑: a) 这是否意味着“monitor”将在后台运行?b) 我该如何控制“monitor”运行的位置。
<#SBATCH directives, as above>\n monitor & \n mpirun myprog
那么 monitor 只会在“主”节点上运行,对吧?它仍然可以获得整个 CPU 吗?(你说得对,我不需要它——它只是一个抓取“top”的脚本) - lost