Мне нужно использовать библиотеку MATLAB, скомпилированную в файл JAR, в моем собственном приложении Java. Эта библиотека использует parpool
и имеет несколько parfor
операторов. Мы можем использовать этот пример в качестве теста.
В Windows это работает. В Linux (Ubuntu xenial) я получаю сообщение об ошибке типа this , но не то же самое:
Starting parallel pool (parpool) using the 'local_mcruserdata' profile ...
Error using parpool (line 104)
Failed to start a parallel pool. (For information in addition to the causing error, validate the profile 'local_mcruserdata' in the Cluster Profile Manager.)
Error in sample_pct (line 11)
Caused by:
Error using parallel.internal.pool.InteractiveClient>iThrowWithCause (line 666)
Failed to initialize the interactive session.
Error using parallel.internal.pool.InteractiveClient>iThrowIfBadParallelJobStatus (line 767)
The interactive communicating job failed with no message.
The error is com.mathworks.toolbox.javabuilder.MWException: Failed to start a parallel pool. (For information in addition to the causing error, validate the profile 'local_mcruserdata' in the Cluster Profile Manager.)
Мой MATLAB - 9.2.0.538062 (R2017a), а мой JDK - 1.8.0_171 x86_64 в обеих системах.
Если я прокомментирую строку 11 (вызов функции пула), ошибка исчезнет, но оператор parfor не создаст лишних рабочих.
Это известная ошибка, и можно ли ее исправить?