Я работаю в 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();
После некоторых исследований и бессонных ночей я обнаружил, что нужно все уладить с помощью «Диспетчер профилей кластера» . Но у меня никогда не было возможности увидеть, как это работает. Вот что я получаю после нажатия Диспетчер профилей кластеров на панели Параллельный :
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')
В дополнение ко всем этим; Я получаю это сообщение всякий раз, когда пытаюсь открыть «Параллельные настройки» на вкладке Environment :
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.