local プロファイルでの parpool や検証 (Validation) が正常に実行できないのはなぜですか?

64 views (last 30 days)
Parallel Computing Toolbox で parpool (または matlabpool) を使用するとワーカーが開かずにエラーとなります。また、local での検証 (validation)が途中でエラーとなります。

Accepted Answer

MathWorks Support Team
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 をクリックしてすべての情報を収集します)
-上記テストの結果

More Answers (0)

Categories

Find more on 起動と終了 in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!