local プロファイルでの parpool や検証 (Validation) が正常に実行できないのはなぜですか?
64 views (last 30 days)
Show older comments
MathWorks Support Team
on 16 Jul 2013
Edited: MathWorks Support Team
on 29 Sep 2020
Parallel Computing Toolbox で parpool (または matlabpool) を使用するとワーカーが開かずにエラーとなります。また、local での検証 (validation)が途中でエラーとなります。
Accepted Answer
MathWorks Support Team
on 29 Sep 2020
Edited: MathWorks Support Team
on 29 Sep 2020
ワーカーを起動させるコマンドは
R2013a以前のリリース:matlabpool
R2013b以降のリリース:parpool
なっております。以下では parpool として記述します。
parpool を妨げる問題は、いくつかあります。以下のテストを行い、環境が正しく構成されているか確認します。いずれかの箇所でエラーメッセージを受け取った場合、このページの最下部にあるリンクよりインストール サポートにお問い合わせください。
※もし R2008a を使用されており、Parallel Computing Toolbox が使用できない場合、下記 Bug Report をご確認ください。
1) Parallel Computing Toolbox のライセンスの確認
MATLAB で、下記コマンドを実行することで、ライセンスを確認することができます。
>> license checkout Distrib_Computing_Toolbox
ライセンスが稼働していると、"ANS=1" という結果が出力されます。それ以外の場合、license manager error が表示されます。License error のメッセージを検索することで、解決方法を確認できます。
2) MATLAB と Parallel Computing Toolbox のリリースバージョンの確認
製品のリリースバージョンを確認するには、MATLAB で “ver” コマンドを実行します。それぞれの製品の横にリリースバージョンが表示されます(例: R2009b)ので、MATLAB本体と一致しているかを確認します。一致しない場合はご使用いただくことができません。
3) パスのリセット
MATLAB 環境のパス設定に原因がある可能性があります。以下のコマンドでリセットを行い、MATLAB の再起動後に再度 parpool の実行を行います。
>> restoredefaultpath
>> savepath
4) ローカルの mpiexec の停止
R2010a またはそれ以降のバージョンを使用している場合、新規の mpiexec の導入により問題が発生する可能性があります。下記コマンドで機能を停止し、ご確認ください。
>> distcomp.feature( 'LocalUseMpiexec', false )
この方法によって、local スケジューラーに parallel job の作成と parpool の実行を許可することができます。
5) ローカルスケジューラーの構成の確認
ローカルスケジューラを使用するのに、変更する必要がある箇所はありませんが、もし構成を変更した場合はこれは新しいローカルスケジューラーを構築することでリセットします。手順は下記のようになります。
1. MATLAB の Parallel メニューより、”Manager Configurations” を選択します
2. File メニューより、New -> Local Configuration を選択します
3. default 列のラジオボタンを ON にして、既定の構成に設定します
リセットが完了したら、Manage Configuration ウィンドウを閉じて、再度ローカルスケジューラーの構成を確認します。
6) ローカルスケジューラのデータフォルダのクリヤ
ローカルスケジューラの設定が保存されたデータフォルダによりエラーが発生することがあります。その場合、ローカルスケジューラの設定をリセットします。手順は次のようになります。
1. MATLAB で “prefdir” コマンドを実行し、データフォルダのパスを確認します。
>> prefdir
ans =
C:\Users\<ユーザー名>\AppData\Roaming\MathWorks\MATLAB\R2013b
環境情報が含まれるフォルダが上記のように表示された場合、ひとつ上の階層にローカルスケジューラのデータフォルダーがあります。
R2011bまでのデータフォルダー名:local_scheduler_data
R2012a以降のデータフォルダー名:local_cluster_jobs
2. MATLAB を終了します。
3. local_scheduler_data または local_cluster_jobs のフォルダ名を変更、もしくは削除します
4. MATLAB を起動します(削除した状態でMATLABを再起動することにより、新規で生成されます)
データフォルダに問題がないか確認するため、parpool を起動します。
7) hostname の動作の確認
local scheduler を使用するためには、ご使用のコンピューター自身の hostname が解決されている必要があります。これを確認するために以下のコマンドを実行します。
>> !hostname
このコマンドは、ご使用のコンピューターの hostname を表示します。また、コンピューターの IP アドレスを使用して解決します。設定を確認するには以下のコマンドを使用します。
>> !ping <hostname>
ここで <hostname> は上記の "!hostname" の出力を指定します。もしIPアドレスが間違えていたり、"unknown host"が表示されたりした場合、ご使用のコンピュータのネットワークに関する設定に問題がありますので、この場合はネットワーク管理者にご相談ください。
名前解決後もparpoolが使用できない場合、以下の手順でvalidationを使用します。
1. MATLABデスクトップ画面の"ホーム"タブ内の"並列"をクリックし、"クラスタープロファイルの管理"を選択します。
2. "Cluster Profile"で使用するプロファイルを選択し、"Validate"ボタンを押下します。
3. Validationが完了したら、"Show Details"ボタンを押下し、詳細を確認します。
8) MATLAB パス上の startup.mファイルの有無の確認
startup.m内の記述の内容によっては、このファイルが実行されることがエラーの原因になっている可能性もあります。ファイルの有無は以下のコマンドで確認することができます。
>> which startup.m
startup.mファイルが存在している場合は、ファイル名を変更したり、MATLABパス以外のパスに移動させたりして一時的に無効にします。
また、matlabrc.m を編集し、ユーザ独自のコマンドを追記して使用している場合も、編集箇所を一度コメントアウトし、動作を確認してください。
(dSPACE 社のツールをご利用の場合、自動的に初期化コマンドが含まれている場合があります。)
依然として parpool が実行できない場合、ローカルスケジューラの構成を検証し、サポートに確認してください。検証方法は、次のようになります。
1. MATLAB の Parallel メニューから、Manage Configurations を選択します
2. ローカルスケジューラをハイライトし、”Vaildate” ボタンをクリックします
3. 検証が完了したら、”details” リンクをクリックし、結果を確認します
検証結果の出力とライセンス番号をカスタマー サポートにお送りください:
なお、お問い合わせの際には、次の情報をご提供ください。
-ライセンス番号
-verコマンドの結果
-MATLAB と Parallel Computing Toolbox のリリース番号
-validation の結果 (details をクリックしてすべての情報を収集します)
-上記テストの結果
0 Comments
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!