我使用 SLURM 作为作业调度程序和小型集群(具有 64 核的单节点)的队列。要提交批处理作业,我使用:
> sbatch run.sh
Run Code Online (Sandbox Code Playgroud)
run.sh 看起来像:
#! /bin/bash
#SBATCH --ntasks=4
export OMP_THREAD_LIMIT=4
/home/Benchmarks/Graph500/omp-csr/omp-csr -s 23
Run Code Online (Sandbox Code Playgroud)
但是,当我一个接一个地提交 2 个批处理作业时,我得到:
> squeue
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
29 debug run.sh anonymou PD 0:00 1 (Resources)
28 debug run.sh anonymou R 1:13 1 localhost
Run Code Online (Sandbox Code Playgroud)
每个作业只需要 4 个内核,因此两个作业都应该运行。也许我错误地配置了 slurm 控制器,/etc/slurm.conf 中的相关行是:
# COMPUTE NODES
NodeName=localhost CPUs=64 Sockets=4 CoresPerSocket=8 ThreadsPerCore=2 State=UNKNOWN
PartitionName=debug Nodes=localhost Default=YES MaxTime=INFINITE State=UP
Run Code Online (Sandbox Code Playgroud)
我会感谢任何帮助/提示。