无法启动 matlabpool



我在上运行MATLAB大约一年半了。我一直在努力让matlabpool几乎每三个月就可以使用一次。在我完全放弃之前,我决定寻求帮助

我的问题从matlabpool命令开始。每当我输入matlabpool命令时,我就会得到这个:

One or more output arguments not assigned during call to "system_dependent".
Error in matlabpool>iIsOnClient (line 73)
onclient = ~system_dependent('isdmlworker');
Error in matlabpool>iVerifyJava (line 64)
if iIsOnClient()
Error in matlabpool (line 10)
iVerifyJava();

经过一些研究和不眠之夜,我发现必须使用"Cluster Profile Manager"来解决问题。但我也从来没有机会看到它发挥作用。以下是在Parallel面板中单击Cluster Profile Manager后得到的结果:

com.mathworks.jmi.MatlabException: Feature isdmlworker not found
    at com.mathworks.jmi.NativeMatlab.SendMatlabMessage(Native Method)
    at com.mathworks.jmi.NativeMatlab.sendMatlabMessage(NativeMatlab.java:266)
    at com.mathworks.jmi.MatlabLooper.sendMatlabMessage(MatlabLooper.java:120)
    at com.mathworks.jmi.Matlab.mtFeval(Matlab.java:1710)
    at com.mathworks.jmi.MatlabWorker.feval(MatlabWorker.java:197)
    at com.mathworks.toolbox.distcomp.ui.profile.model.MatlabProfileManager$1.runOnMatlabThread(MatlabProfileManager.java:80)
    at com.mathworks.jmi.MatlabWorker$2.run(MatlabWorker.java:79)
    at com.mathworks.jmi.NativeMatlab.dispatchMTRequests(NativeMatlab.java:475)
Attempt to reference field of non-structure array.
Error in parallel.internal.ui.AbstractValidationManager (line 20)
            obj.Validator.addlistener('ValidationStarted', ...
Error in parallel.internal.ui.ValidationManager (line 21)
            obj@parallel.internal.ui.AbstractValidationManager();
com.mathworks.jmi.MatlabException: Attempt to reference field of non-structure array.
    at com.mathworks.jmi.NativeMatlab.SendMatlabMessage(Native Method)
    at com.mathworks.jmi.NativeMatlab.sendMatlabMessage(NativeMatlab.java:266)
    at com.mathworks.jmi.MatlabLooper.sendMatlabMessage(MatlabLooper.java:120)
    at com.mathworks.jmi.Matlab.mtFevalConsoleOutput(Matlab.java:1778)
    at com.mathworks.jmi.MatlabWorker.feval(MatlabWorker.java:195)
    at com.mathworks.jmi.MatlabWorker.feval(MatlabWorker.java:172)
    at com.mathworks.toolbox.distcomp.ui.profile.model.ValidationManager$1.runOnMatlabThread(ValidationManager.java:45)
    at com.mathworks.jmi.MatlabWorker$2.run(MatlabWorker.java:79)
    at com.mathworks.jmi.NativeMatlab.dispatchMTRequests(NativeMatlab.java:475)

收到此消息后,群集配置文件管理器会弹出,但除了"等待"标志外,它并没有真正显示任何内容。我已经检查了我的分布式计算许可证,看起来也很好。

license checkout Distrib_Computing_Toolbox

命令返回1。

顺便说一句,我怀疑还有另一条错误消息与我的问题有关。我在每次MATLAB启动时都会得到这个:

Error using feature
Feature isdmlworker not found
Error in matlabrc (line 187)
if ~(ismcc || isdeployed || feature('isdmlworker')) && usejava('jvm')

除此之外;每当我试图从环境选项卡打开"并行首选项"时,我都会收到此消息:

com.mathworks.jmi.MatlabException: Feature isdmlworker not found
    at com.mathworks.jmi.NativeMatlab.SendMatlabMessage(Native Method)
    at com.mathworks.jmi.NativeMatlab.sendMatlabMessage(NativeMatlab.java:265)
    at com.mathworks.jmi.MatlabLooper.sendMatlabMessage(MatlabLooper.java:120)
    at com.mathworks.jmi.Matlab.mtFeval(Matlab.java:1619)
    at com.mathworks.jmi.MatlabWorker.feval(MatlabWorker.java:197)
    at com.mathworks.toolbox.distcomp.ui.profile.model.MatlabProfileManager$1.runOnMatlabThread(MatlabProfileManager.java:72)
    at com.mathworks.jmi.MatlabWorker$2.run(MatlabWorker.java:79)
    at com.mathworks.jmi.NativeMatlab.dispatchMTRequests(NativeMatlab.java:440)

我试图找到函数system_dependent.m,但它似乎不存在。我得到的其他常见错误点,函数"feature.m",选项"isdmlworker"是我找不到任何信息的其他谜团。

如果有人能帮我解决我在启动MATLAB的分布式计算系统时遇到的问题,我真的很感激。

编辑:我正在使用Ubuntu 14.04,我的MATLAB版本是R2014a。

这似乎是Ubuntu 14.04特定安装的问题。然而,考虑到错误发生在com.mathworks.jmi.NativeMatlab.dispatchMTRequests()中,它可能与matlabpool如何在R2014a中生成工作线程有关。

matlabpool已经在Ubuntu 15.04和15.10上测试过,可以正常工作。这可能不是一个理想的解决方案,但将Ubuntu升级到15.04或15.10并重新安装MATLAB R2014a应该可以解决这个问题。

相关内容

  • 没有找到相关文章

最新更新