ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

mpiSettings

MPI 通信のオプションを構成する

構文

mpiSettings('DeadlockDetection','on')
mpiSettings('MessageLogging','on')
mpiSettings('MessageLoggingDestination','CommandWindow')
mpiSettings('MessageLoggingDestination','stdout')
mpiSettings('MessageLoggingDestination','File','filename')

説明

mpiSettings('DeadlockDetection','on')labSend および labReceive の呼び出し中のデッドロック検出をオンにします。デッドロックが検出されると、labReceive の呼び出しでエラーが発せられる可能性があります。全ワーカーでデッドロック検出を有効にする必要はありませんが、これは非常に有用なオプションです。既定値は、通信ジョブでは 'off'pmode セッションや spmd ステートメント内では 'on' です。pmode セッションや spmd ステートメント内で設定を変更すると、その設定は、pmode セッションが終了するかまたは並列プールが閉じるまで有効です。

mpiSettings('MessageLogging','on') は MPI メッセージのログをオンにします。既定値は 'off' です。既定の出力先は MATLAB® コマンド ウィンドウです。

mpiSettings('MessageLoggingDestination','CommandWindow') は MPI ログ情報を MATLAB コマンド ウィンドウに送信します。コマンド ウィンドウの出力をキャプチャするよう通信ジョブ内のタスクを設定している場合は、MPI ログ情報がタスクの CommandWindowOutput プロパティに格納されます。

mpiSettings('MessageLoggingDestination','stdout') は MPI ログ情報を MATLAB プロセスの標準出力に送信します。MATLAB ジョブ スケジューラ (MJS) を使用している場合には mdce サービス ログ ファイルとなります。

mpiSettings('MessageLoggingDestination','File','filename') は MPI ログ情報を指定されたファイルに送信します。

通信ジョブのデッドロック検出を、そのジョブの jobStartup.m ファイル内で設定します。

    % Inside jobStartup.m for the communicating job
    mpiSettings('DeadlockDetection', 'on');
    myLogFname = sprintf('%s_%d.log', tempname, labindex);
    mpiSettings('MessageLoggingDestination', 'File', myLogFname);
    mpiSettings('MessageLogging', 'on');

後続の spmd ステートメントのうち、同じ並列プールを使用するものすべてに対してデッドロック検出をオフにします。

spmd; mpiSettings('DeadlockDetection', 'off'); end

詳細

すべて展開する

ヒント

MessageLoggingDestination を設定しても、自動的にメッセージのログが有効になることはありません。メッセージのログを有効にするには、別の呼び出しが必要です。

mpiSettings を、クライアントではなくワーカーで 呼び出す必要があります。つまり、タスク関数内、jobStartup.m 内または taskStartup.m. 内で呼び出す必要があります。

この情報は役に立ちましたか?