10

MATLAB を約 1 年半前から実行しています。そして、ほぼ 3 か月に 1 回、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)

このメッセージを受け取った後、Cluster Profile Managerがポップアップしますが、実際には「待機」サイン以外には何も表示されません。分散コンピューティング ライセンスを確認しましたが、問題ないようです。

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 です。

4

1 に答える 1

2

これは、Ubuntu 14.04 の特定のインストールに問題があるようです。ただしmatlabpool、エラーがcom.mathworks.jmi.NativeMatlab.dispatchMTRequests().

matlabpoolUbuntu 15.04 および 15.10 で問題なく動作することがテストされています。理想的な解決策ではないかもしれませんが、Ubuntu を 15.04 または 15.10 にアップグレードし、MATLAB R2014a を再インストールすると問題が解決するはずです。

于 2015-11-12T20:07:57.570 に答える