代码之家  ›  专栏  ›  技术社区  ›  aaaaa

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

  •  0
  • aaaaa  · 技术社区  · 4 年前

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

    到目前为止,当我向 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
    
    0 回复  |  直到 4 年前
        1
  •  1
  •   j23    4 年前

    您需要更改消耗品资源类型 节点 岩芯 在泥浆中。

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

    SelectType=select/cons_res
    SelectTypeParameters=CR_Core
    

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

    SelectTypeParameters:定义可消耗资源类型,并通过选择插件控制CPU资源分配的其他方面。 Reference

    此外,节点描述还应考虑到:

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

    另请参见 serverfault