C库函数exit(),在集群上使用SLURM

时间:2016-04-10 07:19:09

标签: c cluster-computing slurm

我对exit()的简单用法有疑问。

上下文正在群集上运行程序以进行并行计算,因此我们安装了一个Slurm系统来管理和监视所有进程。
问题现在是,当我的程序中调用exit(1)时,SLURM似乎没有注册,并且CPU保持忙碌,无用地烧毁我分配的CPU时间,尽管程序已经终止了。

所以我的问题是:
 与exit()中的常规return 1相比,main()的做法有何不同? 有没有一种简单的方法来修复我的退出信号?

1 个答案:

答案 0 :(得分:0)

SLURM的默认行为是允许作业中的进程完成,即使一个进程使用非零退出代码崩溃或退出也是如此。您可以通过在slurm.conf中设置KillOnBadExit=1,或在-K/--kill-on-bad-exit中使用srun来更改此设置。