提交在多个 CPU 上并行运行的任务

Submit tasks that run in parallel over multiple CPUs

提问人:Simon 提问时间:11/8/2023 更新时间:11/8/2023 访问量:18

问:

运行我的代码不需要太多时间。当我在笔记本电脑上启动多次运行时,我使用 joblib 并且效果很好。我现在想在基于 Slurm 的集群上启动我的运行。我不明白要问什么资源:在多个 CPU 上并行在 1 个节点上启动多个运行。我有一个循环来提交作业,但我不知道如何指定 、 、 和 。
我的代码基于,这是它的样子
nodestaskscpus_per_taskarraysubmitit

import submitit
from main import run
seeds = range(0, 100)
datasets = ['x', 'y']

for seed in seeds:
    for data in datasets:
      executor = submitit.AutoExecutor(folder="./out")
      executor.update_parameters(
          timeout_min=10,
          nodes=1,
          cpus_per_task=2,
          mem_gb=1,
          slurm_array_parallelism=10,
      )
      job = executor.submit(run, seed, data)
      print(f"Submitted job: {job.job_id}")

我需要帮助了解如何设置参数。Slurm 文档是混淆的,我找不到 Submitit 参数的文档。

诽谤

评论


答: 暂无答案