Pre-initialise parallel pool

So I’m using Matlab’s parfor for performing feature extraction. However, I find that every time when the code is ran for the first time, the parallel pool needs to be prepared (gathering workers) and it takes quite some time for it to be ready. I was wondering if it is possible to pre-initialise the parallel pool before running the parfor loop?

4 commentaires

Adam
Adam le 23 Sep 2019
You can use
doc parpool
to open a parallel pool if you mean actual creation of the parallel pool, or do you mean there is some initialisation that is always done even on an already open parallel pool?
Stewart Tan
Stewart Tan le 24 Sep 2019
@Adam as in getting the local workers ready beforehand. Hence yes, creation of the parallel pool.
Adam
Adam le 24 Sep 2019
So yes, calling parpool should do this. There are also settings in your preferences that you may wish to change. I can't remember what defaults are, but I think they are the opposite to what I use.
One is to automatically create a parallel pool if it isn't open, when a parfor is executed (I have this unticked, but I'm pretty sure default is ticked otherwise it would confuse people!). The other is the shut down for the parallel pool when it has been idle for a certain amount of time. I have this unticked too as I prefer to open and close my own parallel pool.
Stewart Tan
Stewart Tan le 25 Sep 2019
@Adam thank you. It works.

Connectez-vous pour commenter.

Réponses (0)

Catégories

Commenté :

le 25 Sep 2019

Community Treasure Hunt

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

Start Hunting!

Translated by