无法使用 MATLAB MapReducer 2014b 中的 'local' 配置文件启动并行池

Failed to start a parallel pool using the 'local' profile in MATLAB MapReducer 2014b

我在 MATLAB 2014b 中使用 here 中的示例作为 "Compute Mean Value with MapReduce"。当我 运行 示例时,出现以下错误:

Starting parallel pool (parpool) using the 'local' profile ... Error using mapreducer (line 96) Failed to start a parallel pool. (For information in addition to the causing error, validate the profile 'local' in the Cluster Profile Manager.)

Error in gcmr (line 34) mr = mapreducer();

Error in mapreduce (line 94) mrcer = gcmr();

Error in MapReduceFunction (line 10) meanDelay = mapreduce(ds, @Mapper1, @Reducer1);

Caused by: Error using parallel.internal.pool.InteractiveClient/start (line 329) Failed to start pool. Error using parallel.Job/submit (line 304) All dimension arguments must be greater than zero

我查看了'local'配置文件,存在如下图中的一些问题:

我们如何解决这个问题?

使用 mapreducer(0) 只会对大型问题的性能产生负面影响。此设置基本上告诉 mapreduce 仅使用您的本地 MATLAB 会话来处理数据,因此对于小问题,这比并行 运行 所需的开销更快。这个简单的示例问题就是这样一种情况。

有关详细信息,请参阅 PCT 文档中的此页面: http://www.mathworks.com/help/distcomp/run-mapreduce-on-a-local-cluster.html

在使用 MATLAB 并解决问题后,我找到了解决方案。出现此验证错误的原因多种多样。其中一种解决方案如下:

(1) Run the following MATLAB commands in order:

rehash toolboxcache;

restoredefaultpath;

savepath

(2) Restart MATLAB and try the validation again.