我如何在用户级别配置 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
以保持持久性。
是否有类似 .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。 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
以保持持久性。