配置MPI通信选项
mpiSettings(“DeadlockDetection”,“上”)
mpiSettings(“MessageLogging”,“上”)
mpiSettings(“MessageLoggingDestination”、“CommandWindow”)
mpiSettings(“MessageLoggingDestination”、“标准输出”)
mpiSettings(“MessageLoggingDestination”、“文件”、“文件名”)
mpiSettings(“DeadlockDetection”,“上”)
在调用时打开死锁检测labSend
和labReceive
.如果检测到死锁,则调用labReceive
可能会导致错误。虽然没有必要在所有工作器上启用死锁检测,但这是最有用的选项。默认值为“关闭”
用于沟通工作,以及“上”
内部spmd
语句。一旦设置改变了spmd
语句时,该设置将保持有效,直到关闭并行池。
如果您正在使用大量的工作器,那么禁用死锁检测可能会提高性能。
如果有些工人不打电话labSend
或labReceive
在很长一段时间内,死锁检测可能会导致通信错误。如果遇到错误,请尝试禁用死锁检测。
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
.