【发布时间】:2022-01-13 16:38:03
【问题描述】:
我是 slurm 的新手,我有两个处于空闲状态的节点,但我的作业只在其中一个节点上运行,主节点 (node01),而我不明白为什么第二个节点 (node02) 不运行工作。
我为要提交的 500 个作业创建了一个 while 循环
while read f1 f2; do sbatch myscript.sh ${f1} ${f2}; done < list.txt
在脚本“myscript.sh”的标题上
#SBATCH --job-name=test_jobs
#SBATCH --nodes=2
#SBATCH --cpus-per-task=3
#SBATCH --mem=1G
#SBATCH --time=00:03:00
#SBATCH --output=sslurm_%j.log
查看 slurm.conf 文件
# Node
NodeName=node01 CPUs=80 Boards=1 SocketsPerBoard=2 CoresPerSocket=20 ThreadsPerCore=2 RealMemory=515619
NodeName=node02 CPUs=80 Boards=1 SocketsPerBoard=2 CoresPerSocket=20 ThreadsPerCore=2 RealMemory=515619
# Partition
PartitionName=base Nodes=node01,node02 Default=Yes MaxTime=7-00:00:00 Priority=1 State=U
node02 应该从 node01 读取脚本,因为我创建了一个 NFS 共享文件夹来保存脚本。在脚本中报告了要使用的工具的路径,这些工具仅在 node01 上(一些位于 /usr/bin/ 和其他从我创建的文件夹中)。我还应该共享输入文件和工具所在的文件夹吗?
这里有什么问题?以及如何在日志文件中打印哪个节点运行每个作业? 谢谢!
【问题讨论】: