2017-08-27 6 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

もう1つの質問:なぜクラスタのヘッドノードでコードを実行してはいけないのですか?ヘッドノードでコードを実行する方が時間がかかりますか? @atru –

答えて

3

ヘッドノード上でMatlabプロセスが実行されていた場合は、スクリプトを提出しなかったが、たぶん単純に実行したことになります。

sbatch runm 

とそれを提出することを確認してください次に、あなたはそれが

squeue -u $USER 

とキュー(またはランニング)で待機して参照し、それが

でフロントエンド上で実行されていないことを確認することができます
top 

Matlabのオプション-nodisplayと01に関する@ atruのコメントにも注意してくださいMatlabがバッチモードで正しく動作するようにします。

+0

私を助けてくれますか?回答とコメントはコードを実行するのに役立ちません。私はここで新しい質問をしました:https://stackoverflow.com/questions/45953452/matlab-code-doesnt-run-in-cluster-properly –

関連する問題