HPC语-如何使HPC节点同时运行多个作业的bash脚本

问题描述 投票:0回答:1

假设我有一个带有一个节点(node_1)的HPC集群,并且我想同时发送和运行node_1中的3个作业的bash脚本。

到目前为止,当我将作业发送到node_1时,节点将保持繁忙状态,直到作业结束。

我该怎么做?我可以在工作的bash脚本中提供任何特定的参数吗?

谢谢


更新

下面是我用来将作业发送到HPC的bash脚本的示例:

#!/bin/bash
#SBATCH --job-name=my_job
#SBATCH --partition=test
#SBATCH --nodelist=node_1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=1
#SBATCH --time=01:00:00
#SBATCH --mem-per-cpu=8000
#SBATCH --output=1.out
#SBATCH --error=1.err

python /my/HPC/folder/script.py

更新

(base) [id@login_node ~]$ scontrol show node=node_1
NodeName=node_1 Arch=x86_64 CoresPerSocket=32 
   CPUAlloc=0 CPUTot=64 CPULoad=2.94
   AvailableFeatures=(null)
   ActiveFeatures=(null)
   Gres=(null)
   NodeAddr=node_1 NodeHostName=node_1 Version=18.08
   OS=Linux 4.20.0-1.el7.elrepo.x86_64 #1 SMP Sun Dec 23 20:11:51 EST 2018 
   RealMemory=128757 AllocMem=0 FreeMem=111815 Sockets=1 Boards=1
   State=IDLE ThreadsPerCore=2 TmpDisk=945178 Weight=1 Owner=N/A MCS_label=N/A
   Partitions=test 
   BootTime=2019-12-09T14:09:25 SlurmdStartTime=2020-02-18T03:45:14
   CfgTRES=cpu=64,mem=128757M,billing=64
   AllocTRES=
   CapWatts=n/a
   CurrentWatts=0 LowestJoules=0 ConsumedJoules=0
   ExtSensorsJoules=n/s ExtSensorsWatts=0 ExtSensorsTemp=n/s
nodes jobs hpc slurm multiple
1个回答
0
投票

您需要以口吃的方式将消耗性资源类型从节点更改为核心

将此添加到您的slurm.conf文件中>

SelectType=select/cons_res
SelectTypeParameters=CR_Core

[SelectType:控制是否以整个节点为单位或作为消耗性资源(套接字,核心或线程)将CPU资源分配给作业和作业步骤。

SelectTypeParameters:定义消耗性资源类型并控制select插件分配CPU资源的其他方面。Reference

此外,节点描述也应允许:

NodeName=<somename> NodeAddr=<someaddress> CPUs=16 Sockets=2 CoresPerSocket=4 ThreadsPerCore=2 RealMemory=12005 State=UNKNOWN

另请参阅serverfault

© www.soinside.com 2019 - 2024. All rights reserved.