解决集群中MATLAB无法启动并行池的问题

MATLAB无法启动并行(parpool)Failed to locate and destroy old interactive jobs.

起因

最近在集群中使用MATLAB时发现无法启动并行池,在MATLAB代码中使用parfor进行并行处理,但是用时比之前长了很多,查看输出文件时发现只输出了

Starting parallel pool (parpool) using the ‘local’ profile …

并没有

Connected to the parallel pool (number of workers: 12)

所以就是没有成功启动并行池。

尝试

在集群服务器上用xmanager打开了MATLAB的图形化界面,点左下角并行池那里,打开Parallel Preference,进入 Cluster Profile Manager,然后validate一下cluster profile,发现最后一项失败,提示

Failed to locate and destroy old interactive jobs.

在MATLAB命令行直接输入parpool启动并行池则报错如下

Parallel pool failed to start with the following error. For more detailed
information, validate the profile 'local' in the Cluster Profile Manager.

Caused by:
    Error using parallel.internal.pool.InteractiveClient>iThrowWithCause (line
    668)
    Failed 
  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Ubuntu 18.04系统,可以通过一些步骤在集群并行计算MATLAB。 首先,确保集群的每个节点都有安装MATLAB,并且已经配置好MATLAB的执行路径。 接下来,使用MATLABParallel Computing Toolbox进行集群配置。打开MATLAB并在命令窗口输入"distcomp.feature(‘LocalUseMpiexec’, false)"来禁用集群的默认本地执行器。然后,在MATLAB命令窗口执行"mdce"命令来打开MATLAB分布式计算引擎。 在打开的MATLAB分布式计算引擎界面,选择"集群"选项卡,然后选择"添加集群配置文件"。在弹出的对话框,输入集群节点的主机名或IP地址,以及MATLAB的执行路径。点击"添加"按钮,将集群配置文件保存到本地。 在MATLAB命令窗口,执行"mem"命令来查看可用的计算节点和节点内存的情况。 接下来,使用MATLAB并行计算函数和命令来实现并行计算。在脚本或函数使用"parfor"循环来实现并行计算任务的拆分和分配给集群的多个节点。使用"parpool"命令创建并行计算的进程,并设置的工作进程数。 最后,通过执行MATLAB脚本或函数实现并行计算任务,使用"mpirun"命令指定集群配置文件,并设置需要运行的MATLAB脚本或函数。该命令将在集群的各个节点上启动MATLAB进程并进行并行计算。 总之,通过在Ubuntu 18.04系统配置集群环境、使用MATLABParallel Computing Toolbox以及合理使用并行计算函数和命令,可以在集群实现MATLAB并行计算
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值