2017-08-27 119 views
2

我正在使用群集来运行我的代码。我使用runm文件在集群上运行我的代码。 RUNM脚本如下:今天如何避免在群集头节点上运行代码

#!/bin/sh 
#SBATCH --job-name="....." 
#SBATCH -n 4 
#SBATCH --output=bachoutput 
#SBATCH --nodes=1-1 
#SBATCH -p all 
#SBATCH --time=1-01:00:00 
matlab <znoDisplay.m>o1 

,当我的代码正在运行我收到一封电子邮件从集群的老板说,这些请不要在头节点上运行代码,并使用其他节点。我做了很多搜索,但是我找不到如何将节点从主节点更改为其他节点。任何人都可以帮我吗?有没有可以在runm中使用的脚本来改变它?

任何人都可以帮助我避免在头节点上运行我的代码?

+0

你怎么只使用脚本而不是'matlab -nodisplay -nosplash '? '-nosdisplay'防止GUI和'-nosplash'阻止MATLAB标识弹出。 – atru

+2

是的,绝对尝试。 @damienfrancois解决方案也可能是正确的选择。 – atru

+0

还有一个问题:为什么不能在集群的头节点上运行代码?在头节点上运行代码是否较慢? @atru –

回答

3

如果Matlab进程在头节点上运行,这意味着你没有提交你的脚本,但你很可能只是简单地运行它。

确保用

sbatch runm 

提交它,那么你可以看到它在队列(或运行)与

squeue -u $USER 

等待,并检查它是不是在前端与

运行
top 

另请注意@ atru关于Matlab选项-nodisplay和01的评论for Matlab在批处理模式下正常工作。

+0

你能帮我吗?回答和评论并不能帮助我运行代码。我在这里问了一个新问题:https://stackoverflow.com/questions/45953452/matlab-code-doesnt-run-in-cluster-properly –

相关问题