Matlab parfor on Slurm

13 次查看(过去 30 天)
H R
H R 2020-4-3
Hi All,
I want to run a parfor on matlab using Slurm job submission on the cluster.
I want to use 15 workers for the parfor. Each worker should calls an external executable program and runs it using a set of distinc parameters. The external program needs 1 CPU(core) for each run.
I know that inside matlab m file I should set the parpool to 15. My question is that which of these two sbach job submission configurations I should to submit the job:
#SBATCH --ntasks=15
#SBATCH --cpus-per-task=1
or
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=15
  3 个评论
H R
H R 2020-4-10
Based on my trials I think option 2 would work. Although in some slurm user webpages they suggested option1, but the job submission was failed when I tried that
Raymond Norris
Raymond Norris 2020-7-4
Hi,
In my experience, I would choose option #2, but keep in mind that the MATLAB client requires a CPU as well, so I would suggest --cpus-per-task=16.
However, you're also saying that each worker will call an external executable. Can the worker an executable it calls run on the same core? If not, perhaps you need 31?
1 (MATLAB) + 15 (workers) + 15 (executable program)
Raymond

请先登录,再进行评论。

回答(1 个)

Jason Ross
Jason Ross 2020-4-10
Note that you can specify these options as part of the ResourceTemplate property in the cluster (which would set this for every submission using the profile) or on the cluster object itself (which you could set on a per-job basis) for a Slurm cluster. See the "Slurm" section of the documentation here.
You can also set the Parallel Preferences to request 15 workers by default, or set the number of workers to 15 in the cluster profile.

类别

Help CenterFile Exchange 中查找有关 Third-Party Cluster Configuration 的更多信息

标签

产品


版本

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by