You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Slurm脚本核心数配置咨询:HPC场景下如何正确指定所需核心数量

Slurm脚本核心数量分配方法

Slurm脚本片段截图

核心控制参数说明

Slurm分配核心通过几个SBATCH指令配合实现,常用参数如下:

  • --nodes/-N:指定申请的节点总数,单节点任务可直接设为1
  • --ntasks/-n:指定总任务数,默认每个任务对应1个物理核心,纯MPI并行程序直接把该值设为需要的总核心数即可
  • --cpus-per-task/-c:指定单任务绑定的核心数,适用于OpenMP、Python多线程等单进程多线程场景,数值对应单进程的线程数
  • --ntasks-per-node:指定单个节点上分配的任务数,用于控制跨节点任务的资源分布,避免单节点占用核心过多

常见场景配置示例

纯MPI并行(单节点16核心)

#SBATCH --nodes=1
#SBATCH --ntasks=16

单进程多线程(单节点8线程)

#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=8
# 环境变量需和配置对齐,避免程序多调用核心
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK

MPI+OpenMP混合并行(2节点共64核心)

单节点启动4个MPI任务,每个任务绑定8个线程,总核心数=2节点 × 4任务/节点 ×8核心/任务=64

#SBATCH --nodes=2
#SBATCH --ntasks-per-node=4
#SBATCH --cpus-per-task=8
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK

注意事项

  • 所有核心配置不能超过集群单节点的物理核心上限,否则任务会一直处于Pending状态无法调度
  • 如需避免核心调度漂移,可额外添加#SBATCH --cpu-bind=cores参数绑定物理核心
  • 提交任务后可通过sacct -j 任务ID --format=JobID,AllocCPUS,Nodes核对实际分配的核心数量是否符合预期

内容的提问来源于stack exchange,提问作者MRL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 10:06:03