如何在用户级别配置SLURM(例如使用" .slurmrc")?

时间:2018-03-19 12:45:33

标签: slurm

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

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

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

我可以输入:

sbatch script.sh

我尝试在" SLURM用户级配置"上搜索多个变体。似乎所有与SLURM相关的命中都处理slurm.conf (a global-level configuration file)

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

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

更新2

我的主管向我指出了SLURM Perl API。 last time I looked at it,对我来说似乎太复杂了,但这一次看https://github.com/SchedMD/slurm/blob/master/contribs/perlapi/libslurm/perl/t/06-complete.t的代码后,似乎创建一个行为类似的脚本似乎也不难。 sbatch读入默认配置文件并设置所需参数。但是,我没有成功地设置'std_out'到写入的文件名。

1 个答案:

答案 0 :(得分:1)

如果您的示例具有代表性,请定义别名

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

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

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

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