gpu - 从多个 SLURM GPU 资源中进行选择
问题描述
我正在通过 SLURM 调度程序向集群提交作业,假设我可以访问集群中的 5 种类型的 GPU。它们是 A、B、C、D、E 类型的 GPU。我想提交一份作业,要求使用 A 或 B 或 C 类型的 GPU,但不使用 D 或 E 类型的 GPU。所以我需要某种带有--gres
标志的 OR 逻辑。
作为一个具体的例子,当我请求一个单一类型的 gpu(在这种情况下,一个 RTX 2080)时,它看起来像这样:
qlogin -p gpu --gres=gpu:rtx2080:1 --mem=8g -c 2
我想这样做,但允许 SLURM 从允许的 GPU 类型列表中进行选择
解决方案
Slurm 目前没有该选项。
一种解决方法是让系统管理员设置features
具有 GPU 类型的节点以允许请求,例如:
qlogin -p gpu --gres=gpu:1 --constraint="rtx2080|rtx3090" --mem=8g -c 2
(假设qlogin
使用与 相同的选项sbatch
)
如果这是不可能的,您可以提交尽可能多的工作,只要有您想要的 GPU 类型,都具有相同--job-name=<SOME_NAME>
的--dependency=singleton
选项。然后你使用首先开始的任何工作并取消另一个
scancel --jobname <SOME_NAME> --state=PENDING
该--dependency
选项可确保一次仅启动一项作业。
推荐阅读
- python - Python 初学者 - 重复 LINE 或 FOR 循环
- java - 如何比较同一方法的两个变量值
- android - 删除 Android 的 xamarin 表单中材料输入控制的下划线
- java - 如何使用 OkHttp 在 JSONArray 中发布 form.body?
- python - 来自链接“无法获取页数”的python pdf2image
- android - Kotlin 基本程序在 android studio 中不起作用
- delphi - Delphi 10.4 SOAP 基本身份验证缺少标头
- c# - UWP Single App Kiosk - 如何激活在线语音识别
- python - 如何使用pyspark更新结构嵌套列中的值
- r - 数据框仅出现在控制台中,而不出现在环境中(Rstudio)