Matlabpool Maximum Number of Local Workers on one computer - Parallel Computing

5 vues (au cours des 30 derniers jours)
Couple of questions... 1) Can someone from Mathworks clarify exactly how many local workers one can enable on one single machine? I've read 8 or 12 workers, but not sure which is correct since I've seen users complaining about not being able to access 4 of their 12 cores, but I've also seen 12 as the answer (see http://www.mathworks.com/help/toolbox/distcomp/matlabpool.html)
2) If one were to have, say, a single machine with 16 cores on it with a Matlab Distributed Computing license, can I simply say... 'matlabpool open 16' to activate all 16 local cores?
I'm in the market for a new machine and need to know the answers to decide which machine to get.
Thanks in advance.

Réponse acceptée

Edric Ellis
Edric Ellis le 13 Jan 2012
Modifié(e) : John Kelly le 14 Nov 2013
The number of local workers available with Parallel Computing Toolbox and no MDCS has changed. When introduced, the limit was 4; this changed to 8 in R2009a; and to 12 in R2011b.
If you want to use 16 workers, you will need a 16-node MDCS licence, and you'll also need to set up some sort of scheduler to manage those. There are detailed instructions about how to do this here. Once you've done that, yes, you'll be able to do "matlabpool open 16".
  4 commentaires
Matthew Phillips
Matthew Phillips le 6 Fév 2014
I realize this is an older post but could you explain the rationale for this? This seems crazy. I have access to a 48-core server but can only get Matlab to use 12 cores, and even going through the process described, the number only increases to 16. But when I code in C/C++, I get as many worker threads as I ask for. I can understand that Matlab would want to prevent the user for asking for more workers than there are cores, since that would reduce efficiency. But why should Matlab otherwise limit how many workers I have? From a software dev perspective, once the architecture for n>1 threads is there, it's trivial to invoke more, it's just changing a single runtime parameter! Please explain Matlab's system a little more, right now I worried that charging more for more cores is just pure gouging.
Rafael J.
Rafael J. le 20 Fév 2014
You can use as many cores as you want, it's just a licensing issue. The Parallel Processing Toolbox lets you use matlabpool locally and maxes out at 12 cores. If you want more than that, you need to setup a distributed computing server (even if you run it locally, it will be the case where the server and client are the same machine).
There's probably no technical reason why the parallel computing toolbox is limited to 12, it seems to just be a licensing/monetary situation.

Connectez-vous pour commenter.

Plus de réponses (1)

Edric Ellis
Edric Ellis le 7 Mar 2014
Modifié(e) : Edric Ellis le 30 Juin 2017
Please note that in R2014a the limit on the number of local workers was removed. See the release notes.
  4 commentaires
Tyler Warner
Tyler Warner le 30 Juin 2017
Hello, The release note link is broken now. Is there an updated reference for this post? Good day.
Philip Borghesani
Philip Borghesani le 30 Juin 2017
Modifié(e) : Philip Borghesani le 30 Juin 2017
The above release notes link was fixed to this link: Parallel Computing Toolbox Release Notes R2014a-R2017a

Connectez-vous pour commenter.

Catégories

En savoir plus sur MATLAB Parallel Server dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by