parfor is suddenly not supported by thread-based workers anymore.

8 vues (au cours des 30 derniers jours)
Chris Pruefert
Chris Pruefert le 29 Juil 2023
Commenté : Emili le 19 Nov 2023
I am using a parfor-loop for a parafac and since a week or so, Matlab gives an error that it cannot work with the parfor anymore. I have not changed the code in any way, so I do not know why this error occurs now. Was there an update or change in parafac?
These are the lines that I am using:
parfor i=1:10
[FactorsNaNFixed{i,1},itNaN{i,1},errNaN{i,1}]=parafac(NaNArray,Comp,Options,const,OldLoadC,FixModeC);
end
and here is the error that is generated:
Error using parafac
Use of function load is not supported on a thread-based worker.
All inputs (NaNArray,Comp,Options,const,OldLoadC,FixModeC) are pre-allocated,so I do not know why this happens, also given that it worked perfectly fine before. Parallel pool on Threads is running normally with 12 workers.
All the best,
Chris
  4 commentaires
Ayush
Ayush le 22 Août 2023
What MATLAB version were you using? Also, if you could provide the files to reproduce the issue at our end then it would be beneficial.
Emili
Emili le 19 Nov 2023
Hello, sorry for jumping it. In a different context, I have the same problem in 2023a and 2023b if I am correct, and the same error message with the function "predict" in the SI toolbox.
I have been using threads since the feature was available with this function and there was no problem in the previous version.
There are other posts related to other functions (https://uk.mathworks.com/matlabcentral/answers/2028350-use-of-function-save-is-not-supported-on-a-thread-based-worker) which may or may not be related to this.
If you could patch it would be great please, thank you very much, because it is much faster to parallelize with treads that with processes in some cases,
Thank you again.
Kind regards

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur Parallel for-Loops (parfor) dans Help Center et File Exchange

Produits


Version

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by