本文介绍了是什么决定MaxAllowedNumWorkers?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要matlabpool open 24.由于我的计算机中NumWorkers的默认值为12,因此我运行:

I want to matlabpool open 24. As the default value of NumWorkers in my machine is 12, I run:

myCluster = parcluster('local');
myCluster.NumWorkers = 12;  % 'Modified' property now TRUE
saveProfile(myCluster);     % 'local' profile now updated,
                            % 'Modified' property now FALSE  

我得到了错误:

Error using parallel.cluster.Local/hSetProperty (line 258)
NumWorkers must be an integer from 1 to 12.

我注释了parallel.cluster.Local/hSetProperty(第258行)上的绑定检查:

I comment out the bound check at parallel.cluster.Local/hSetProperty (line 258):

case 'NumWorkers'
%                     if value > obj.MaxAllowedNumWorkers
%                         error(message('parallel:cluster:LocalInvalidNumWorkers', obj.MaxAllowedNumWorkers));
%                     else
                        obj.LocalSched.setMaximumNumberOfWorkers( double( value ) );
%                     end

我得到了错误:

Error using parallel.cluster.Local/hSetProperty (line 260)
Java exception occurred:
java.lang.IllegalStateException: Too many licenses requested

    at com.mathworks.toolbox.distcomp.local.LocalScheduler.setMaximumNumberOfWorkers(LocalScheduler.java:89)

我对错误请求的许可证太多"感到惊讶.在我的一台计算机上,MaxAllowedNumWorkers是512(R2014a,Windows 7 SP1 x64 Ultimate),而在另外两台计算机上,MaxAllowedNumWorkers是12(R2012a,Ubuntu 12.04).

I am surprised by the error "Too many licenses requested". On one of my machine MaxAllowedNumWorkers is 512 (R2014a, Windows 7 SP1 x64 Ultimate), while on the two other one MaxAllowedNumWorkers is 12 only (R2012a, Ubuntu 12.04).

MaxAllowedNumWorkers是否从R2012a更改为R2014a?是否存在具有不同的MaxAllowedNumWorkers的不同类型的许可证?另外,在MaxAllowedNumWorkers仅12个的计算机上,我可以同时在许多其他计算机(超过100台)(计算机集群)上使用许可证,因此我不了解MaxAllowedNumWorkers的哈希限制.

Did MaxAllowedNumWorkers change from R2012a to R2014a? Does there exist different kind of licenses with a different MaxAllowedNumWorkers? Also, on the machine where MaxAllowedNumWorkers is 12 only, I can use the license on many other machines (over 100)at the same time (computer cluster), so I don't understand the hash restriction on MaxAllowedNumWorkers.

推荐答案

确实如此. 2014版中已取消了每个许可证允许的本地工人数量的限制.请参阅发行说明.这只是2014年之前许可所施加的限制;这就是为什么您在具有2012年的计算机上看到它的原因,而不是在具有2014年的计算机上看到它的原因.

Indeed, it did. The limit on the number of allowed local workers per license was removed in the 2014 release. See the release notes. It's just a limitation imposed by pre-2014 licenses; that's why you see it on the machines that have 2012, but not on those that have 2014.

这篇关于是什么决定MaxAllowedNumWorkers?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-18 13:49