Skip to Main Content Skip to Search
Product Documentation

mpiSettings - Configure options for MPI communication

Syntax

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

Description

mpiSettings('DeadlockDetection','on') turns on deadlock detection during calls to labSend and labReceive. If deadlock is detected, a call to labReceive might cause an error. Although it is not necessary to enable deadlock detection on all labs, this is the most useful option. The default value is 'off' for parallel jobs, and 'on' inside pmode sessions or spmd statements. Once the setting has been changed within a pmode session or an spmd statement, the setting stays in effect until either the pmode session ends or the MATLAB pool is closed.

mpiSettings('MessageLogging','on') turns on MPI message logging. The default is 'off'. The default destination is the MATLAB Command Window.

mpiSettings('MessageLoggingDestination','CommandWindow') sends MPI logging information to the MATLAB Command Window. If the task within a parallel job is set to capture Command Window output, the MPI logging information will be present in the task's CommandWindowOutput property.

mpiSettings('MessageLoggingDestination','stdout') sends MPI logging information to the standard output for the MATLAB process. If you are using a job manager, this is the mdce service log file; if you are using an mpiexec scheduler, this is the mpiexec debug log, which you can read with getDebugLog.

mpiSettings('MessageLoggingDestination','File','filename') sends MPI logging information to the specified file.

Tips

Setting the MessageLoggingDestination does not automatically enable message logging. A separate call is required to enable message logging.

mpiSettings has to be called on the lab, not the client. That is, it should be called within the task function, within jobStartup.m, or within taskStartup.m.

Examples

Set deadlock detection for a parallel job inside the jobStartup.m file for that job:

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

Turn off deadlock detection for all subsequent spmd statements that use the same MATLAB pool:

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


Free Parallel Computing Interactive Kit

See how to solve large problems with minimal effort and reduce simulation time.

Get free kit

Trials Available

Try the latest versions of parallel computing products.

Get trial software
 © 1984-2012- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS