MATLABのParallel Tool Boxのmatlabpoolがエラーを吐く
趣味で大規模計算するため並列計算ができるToolbox、Parallel Tool Box
を購入しました。
学生価格なので約2500円、超お得!
いざ実行するためにmatlabpool
を叩いたのですが、ぬるぽを吐いてうまく動きませんでした。
EDU>> matlabpool Error using matlabpool (line 134) Java exception occurred: java.lang.NullPointerException at java.util.logging.Logger.demandLogger(Logger.java:286) at java.util.logging.Logger.getLogger(Logger.java:321) EDU>> matlabpool Starting matlabpool using the 'local' profile ... Warning: an error occurred while parsing class distcomp.fileserializer: Attempt to reference field of non-structure array. > In distcomp.filestorage.filestorage at 49 In CJSCluster>CJSCluster.CJSCluster at 487 In Local.Local>Local.Local at 302 In parcluster at 51 In ProfileConfigHelper>ProfileConfigHelper.buildScheduler at 76 In MatlabpoolHelper>MatlabpoolHelper.parseMatlabpoolInputs at 290 In MatlabpoolHelper>MatlabpoolHelper.parseInputsAndCheckOutputsForFunction at 100 In matlabpool at 130 Error using matlabpool (line 134) Undefined function 'distcomp.fileserializer' for input arguments of type 'distcomp.filestorage'.
解決策をいろいろ調べたのですが、どうやらValidateしないといけないようです。
環境設定ですね。 手順を紹介します。
1. ツールバーのParallel→Manage Cluster Profile
2. localを右クリック→Validate
このあとしばらく待ちます。
3. 完了
これで完了です!
再度matlabpool
をしてみると・・・
EDU>> matlabpool Starting matlabpool using the 'local' profile ... connected to 4 workers.
やったね☆
この辺自動でやってくれるのがありがたいですね。