2017-08-27 117 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 –

相關問題