fluent 本身有自己的调度,且不同版本的fluent对slurm的支持程度不一样,故提供一种相对折中的方案来使用slurm来运行fluent程序,计算节点需要有共享文件系统,并且提交作业的用户需要做免密登录,通常slurm本身就支持的,slurm本身的pam插件
生成包装脚本
vim fluent-wrapper
#!/usr/bin/env bash
args=$@
HOSTSFILE=.hostlist-job$SLURM_JOB_ID
if [ "$SLURM_PROCID" == "0" ]; then
scontrol show hostname $SLURM_NODELIST > $HOSTSFILE
fluent -t $SLURM_NTASKS -cnf=$HOSTSFILE -ssh $args
rm -f $HOSTSFILE
fi
exit 0
提交作业示例
srun -n <proc num> fluent-wrapper -g 3d -i <data_file>