【问题标题】:Slurm Scripts and Assigning Number of CoresSlurm 脚本和分配核心数量
【发布时间】:2021-11-24 19:48:18
【问题描述】:

所以我开始研究一些基本的 HPC 主题。但是,我有一个非常基本的问题: 如何在 slurm 脚本中分配正确(或所需)数量的核心?

我很欣赏这是一个相当基本的问题,但我在网上或教科书中找不到任何可以帮助我克服问题的东西。 slurm脚本的一部分图片:

非常感谢任何帮助。

【问题讨论】:

    标签: slurm hpc


    【解决方案1】:

    在您显示的片段中,它有选项

    #SBATCH --ntasks=1
    #SBATCH --cpus-per-task=1
    

    这意味着(就 Slurm 而言)您将启动 1 个进程 (--ntasks=1),该进程可以访问 1 个核心价值的资源 (-cpus-per-task=1)。该进程如何绑定到核心是一个稍微不同的问题,但在大多数 HPC 系统上,这通常意味着调度程序会为您的进程分配 1 个物理核心。

    但是,您的片段中也有:

    #SBATCH --exclusive
    #SBATCH --nodes=1
    

    这些选项通常意味着您要求独占访问单个节点(即只允许您的作业在其上运行)。例如,如果您使用的 HPC 系统上的节点有 64 个物理内核;然后,就目前而言,此示例片段将要求您使用整个节点(64 个核心),但随后指定您只想使用其中 1 个(来自--ntasks=1-cpus-per-task=1)。

    如果您想更改此设置以要求 32 个进程在 1 个具有独占访问权限的节点上的 32 个内核上运行,您可以使用类似:

    #SBATCH --ntasks=32
    #SBATCH --cpus-per-task=1
    #SBATCH --exclusive
    #SBATCH --nodes=1
    

    【讨论】:

    • 太棒了。我不知道为什么,但我一直在努力寻找任何能给我如此简洁的答案的东西。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-05
    • 1970-01-01
    • 1970-01-01
    • 2013-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多