| Contents | Index |
mpiSettings('DeadlockDetection','on')
mpiSettings('MessageLogging','on')
mpiSettings('MessageLoggingDestination','CommandWindow')
mpiSettings('MessageLoggingDestination','stdout')
mpiSettings('MessageLoggingDestination','File','filename')
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.
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.
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

See how to solve large problems with minimal effort and reduce simulation time.
Get free kit| © 1984-2012- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |