先查看:Parallel -> Manage Cluster Profile->validation results ->validate
图1
图2 validate成功示例图
处理:
导致parpool无法启动有如下几个原因,大家可以一一测试一下:
1)确保Parallel Computing Toolbox许可证有效
在MATLAB中,运行以下命令来检查许可证:
license checkout Distrib_Computing_Toolbox
如果许可证正在运行,将会输出“ANS = 1”。否则,就会看到许可证管理器错误。在这种情况下,可以通过搜索许可证错误消息(license error message )来解决这个问题。
2)确保MATLAB版本与PCT(Parallel Computing Toolbox)版本相匹配
通过在MATLAB中运行“ver”命令,来检查产品的发布。每个产品旁边都应该有一个版本(例如:R2009b)。确保每个版本都匹配(如果某些产品旁边有加号“+”,则不错)
如果版本不匹配,则需要安装同一版本,否则将无法使用此配置。
3)禁用本地mpiexec
如果使用的是R2010a或更新版本,则可能会遇到新的本地mpiexec实施问题。在这种情况下,请尝试以下命令禁用此功能:
distcomp.feature('LocalUseMpiexec',false)
这应该允许本地调度程序创建和处理并行作业和parpool。
4)检查本地调度程序配置
为了使用本地调度程序,不需要进行任何更改,但如果您对配置进行了更改,则可能需要重置这些更改。这可以通过创建新的本地调度程序配置来完成。为此,
1.转到MATLAB中的Parallel菜单并选择“Manage Cluster Profiles ...”(R2011b或更早版本的“Manage Configurations ...”)
2.单击添加>自定义>本地(对于旧版本:从文件菜单中,选择新建>本地配置)
3.单击默认列中的单选选项以将其设置为默认配置
完成后,关闭“管理配置”窗口,然后重试。
5)清除本地调度程序数据文件夹
您看到的错误可能是错误的本地调度程序数据的结果。在这种情况下,可以删除本地调度程序数据。为此:
1.在MATLAB中,运行命令“prefdir”以查找首选项文件夹。例如:
>> prefdir
ans =
C:\Users\Administrator\AppData\Roaming\MathWorks\MATLAB\2016a
这将输出您的首选项文件夹。该文件的上一级可以找到名为“local_scheduler_data”或“local_cluster_jobs”的文件夹。例如:
C:\Users\Administrator\AppData\Roaming\MathWorks\MATLAB\ local_scheduler_data
2.关闭MATLAB
3.重命名或删除local_scheduler_data或local_cluster_jobs
4.重启MATLAB
可以尝试运行parpool以查看数据文件夹是否存在问题。
6)确保主机名解析适用于自己的计算机
要使用本地调度程序,您的计算机自己的主机名必须是可解析的。要确认这一点,请在MATLAB中运行以下命令:
!hostname
提供计算机的主机名,保证能够将此主机名解析为计算机的IP地址。要测试这个,可以运行:
!ping <hostname>
其中<hostname>是上面hostname命令的输出。如果结果表明IP地址错误或者说你的计算机是“未知主机”,则计算机上存在需要解决的网络问题才能使用本地计划程序。在这种情况下,请向网络管理员寻求帮助。
7)检查MATLAB路径上是否有startup.m文件
它可能导致错误,即使它在代码运行时在MATLAB中正常工作。
要查看MATLAB路径上是否有startup.m文件,请在MATLAB中运行以下命令:
startup.m
删除或移动MATLAB路径之外的文件。
可查看原文:https://ww2.mathworks.cn/matlabcentral/answers/92124-why-am-i-unable-to-use-parpool-with-the-local-scheduler-or-validate-my-local-configuration-of-parall