【发布时间】:2022-02-01 23:34:27
【问题描述】:
我在一个 slurm 集群上运行了大约 200 个 matlab 代码。这些代码不是并行化的,而是使用密集的矢量化符号。所以每个代码使用大约 5-6 个核心的处理能力。
我使用的 sbatch 代码如下:
#!/bin/bash
#SBATCH --job-name=sdmodel
#SBATCH --output=logs/out/%a
#SBATCH --error=logs/err/%a
#SBATCH --nodes=1
#SBATCH --partition=common
#SBATCH --exclusive
#SBATCH --mem=0
#SBATCH --array=1-225
module load Matlab/R2021a
matlab -nodisplay -r "run('main_cluster2.m'); exit"
现在,上面的代码将为每个 matlab 任务(225 个此类任务)分配一个集群节点。然而,一些集群节点有 20 个或更多的核心。这意味着我可以有效地使用一个节点同时运行 3 或 4 个任务。有没有办法修改上面的代码呢?
【问题讨论】: