私たちの大学のHPCでMatlabコードを実行しようとしています。コードはqsub
ファイルを使用して送信されますbash
。
Matlab R2019bを使用するために、次のような指示を受けました。Matlab R2019bを使用するには、スケジューラフラグの後にスクリプトの上部に次を追加します。
export PATH=/username/local/matlab/bin:$PATH
これを行うのに問題があります。現在私のbashファイルはMatlab R2019bの代わりにMatlab R2015bを開きます。 (注:ユーザー名を実際のユーザー名に変更しました。)これは私の賛辞です:
#$ -S /bin/bash
#$ -l h_vmem=4G
#$ -l tmem=4G
#$ -l h_rt=24:0:0
#$ -cwd
#$ -j y
#Run 3 tasks where each task has a different $SGE_TASK_ID ranging from 1 to 3
#$ -t 1-3
#$ -N try
date
hostname
#Output the Task ID
echo "Task ID is $SGE_TASK_ID"
export PATH=/username/local/matlab/bin:$PATH
matlab -nodisplay -nodesktop -nojvm -nosplash -r "main_1; ID = $SGE_TASK_ID; main_2; exit"
私も試してみましたが、export PATH=/username/local/matlabR2019b/bin:$PATH
問題は続きます。
また、端末から入力するとcd /home/username/local
フォルダが存在しないというメッセージが表示されます。どうやってこれができますか?
答え1
スクリプトがどのMATLABを使用しているかを調べるには、コマンドラインで試してください。
PATH="/username/local/matlab/bin:$PATH" ; export PATH
ディレクトリツリーに空白文字がある場合、引用符を使用するとコマンドパスが正しく割り当てられます。その後、入力
which matlab
これにより、matlabコマンドへのフルパスが提供され、何が優先されるのか、そしてなぜ重要なのかについての洞察が得られます。時々出力
whereis matlab
PATH優先順位の問題を解決するのに役立つ追加のヒントがあります。
MATLABが複数インストールされている場合は、問題のあるアイテムを消去する必要があります。
MATLABが1つだけインストールされている場合は、お気に入りのツールを使用してパッケージ(構成ファイルを含む)を完全に削除してから、パッケージを再インストールする必要があります。以前のバージョンに適用される一部の以前の構成値に問題が発生する可能性があります。