我如何在用户级别配置 SLURM(例如使用“.slurmrc”之类的东西)?

How can I configure SLURM at the user level (e.g. with something like a ".slurmrc")?

是否有类似 .slurmrc 的 SLURM 允许每个用户为他们通常在命令行上指定的参数设置自己的默认值。

例如,我 运行 95% 的工作都在我称之为 HighMem 的分区上。由于我的日常工作很容易超过默认的 1GB,所以我几乎总是要求 10GB 的 RAM。为了充分利用我的时间,我想将分区和 RAM 请求放在一个配置文件中,这样我就不必一直输入它们了。因此,不要输入以下内容:

sbatch --partition=HighMem --mem=10G script.sh

我可以输入这个:

sbatch script.sh

我尝试在 "SLURM user-level configuration" 上搜索多个变体,似乎所有与 SLURM 相关的命中都涉及 slurm.conf (a global-level configuration file)

我什至尝试在我的主目录中创建 slurm.conf.slurmrc,以防万一,但它们对使用的分区没有任何影响。


更新 1 是的,我考虑过 scontrol,但它处理的唯一配置文件是全局的,其中的大多数参数甚至与普通用户无关。


更新 2

我的主管向我指出了 SLURM Perl API。 , it seemed too complicated to me, but this time upon looking at the code for https://github.com/SchedMD/slurm/blob/master/contribs/perlapi/libslurm/perl/t/06-complete.t,似乎创建一个行为类似于 sbatch 的脚本并不太难,该脚本读取默认配置文件并设置所需参数。但是,我没有成功将 'std_out' 设置为要写入的文件名。

如果你的例子有代表性,定义一个别名

alias sbatch='sbatch --partition=HighMem --mem=10G'

可能是最简单的方法。或者,也可以使用 Bash 函数

sbatch() {
command sbatch --partition=HighMem --mem=10G "$@" 
}

将其中任何一项放入您的 .bash_profile 以保持持久性。