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

如何在用户级别配置SLURM(例如,使用类似“slurmrc”的东西)?,slurm,Slurm,SLURM是否有类似于.slurmrc的功能,允许每个用户为通常在命令行上指定的参数设置自己的默认值 例如,我95%的作业都在我称之为HighMem的分区上运行。因为我的日常工作很容易超过默认的1GB,所以我几乎总是请求10GB的RAM。为了充分利用我的时间,我想把分区和RAM请求放在一个配置文件中,这样我就不必一直键入它们。因此,不要键入以下内容: sbatch --partition=HighMem --mem=10G script.sh 我可以键入以下内容: sbatch script.

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

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

sbatch --partition=HighMem --mem=10G script.sh
我可以键入以下内容:

sbatch script.sh
我尝试在“SLURM用户级配置”上搜索多个变体,似乎所有与SLURM相关的点击都得到了处理

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


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


更新2


我的主管向我指出了SLURM Perl API。对我来说,这似乎太复杂了,但这一次在查看的代码中,创建一个行为类似于
sbatch
的脚本似乎并不太难,它读取默认配置文件并设置所需的参数。但是,我没有成功地将“std_out”设置为写入的文件名

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

alias sbatch='sbatch --partition=HighMem --mem=10G'
这可能是最简单的方法。或者,也可以使用Bash函数

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

将其中任何一项放入您的
.bash\u配置文件中,以实现持久性。

您希望用户能够控制什么还不清楚?对于许多事情来说,很明显只有管理员可以更改,因为SLURM处理的是所有用户共享的资源。@TomdeGeus感谢您的澄清。我希望我更新的问题更清楚。更清楚!但在解决方案上帮不了你。就我个人而言,我只是用来生成一些有我的默认值和一些轻微的具体情况的修改。这是非常具体的情况,当然不是你要找的。完美!这是因为当多个相同的选项被传递给Slurm时,它将替换上一个选项。我用
sbatch--partition=thispartitiondoesnotextist--partition=Bar--wrap='ls>ls.txt'
尝试了它,它在分区
Bar
上运行,没有抱怨虚拟分区。或者,您可以设置一组“输入环境变量”,它们的工作方式与对应的“--option”类似:
SBATCH\u TIMELIMIT
用于
--time
SLURM\u MEM\u PER\u NODE
用于
--MEM code>。