mpiSettings

配置MPI通信选项

语法

mpiSettings(“DeadlockDetection”,“上”)
mpiSettings(“MessageLogging”,“上”)
mpiSettings(“MessageLoggingDestination”、“CommandWindow”)
mpiSettings(“MessageLoggingDestination”、“标准输出”)
mpiSettings(“MessageLoggingDestination”、“文件”、“文件名”)

描述

mpiSettings(“DeadlockDetection”,“上”)在调用时打开死锁检测labSendlabReceive.如果检测到死锁,则调用labReceive可能会导致错误。虽然没有必要在所有工作器上启用死锁检测,但这是最有用的选项。默认值为“关闭”用于沟通工作,以及“上”内部spmd语句。一旦设置改变了spmd语句时,该设置将保持有效,直到关闭并行池。

如果您正在使用大量的工作器,那么禁用死锁检测可能会提高性能。

如果有些工人不打电话labSendlabReceive在很长一段时间内,死锁检测可能会导致通信错误。如果遇到错误,请尝试禁用死锁检测。

mpiSettings(“MessageLogging”,“上”)打开MPI消息日志记录。默认值是“关闭”.默认的目的地是MATLAB®命令窗口。

mpiSettings(“MessageLoggingDestination”、“CommandWindow”)发送MPI日志信息到MATLAB命令窗口。如果通信作业中的任务被设置为捕获命令窗口输出,则MPI日志信息将出现在任务的CommandWindowOutput财产。

mpiSettings(“MessageLoggingDestination”、“标准输出”)将MPI日志信息发送到MATLAB过程的标准输出。如果你正在使用MATLAB作业调度器,这是mjs服务日志文件。

mpiSettings(“MessageLoggingDestination”、“文件”、“文件名”)将MPI日志信息发送到指定的文件。

例子

控件中的通信作业设置死锁检测jobStartup.m申请该工作的文件:

在jobStartup %。M代表沟通工作mpiSettings (“DeadlockDetection”“上”);myLogFname = sprintf (“% s_ % d.log”、tempname labindex);mpiSettings (“MessageLoggingDestination”“文件”, myLogFname);mpiSettings (“MessageLogging”“上”);

关闭所有后续的死锁检测spmd使用相同并行池的语句:

spmd; mpiSettings (' DeadlockDetection ', '关闭');

提示

设置MessageLoggingDestination不会自动启用消息日志记录。需要一个单独的调用来启用消息日志记录。

mpiSettings必须由工作人员,而不是客户。也就是说,它应该在任务函数内调用jobStartup.m,或者在taskStartup.m

之前介绍过的R2006a