currentProject() function in Parallel Computing Toolbox

5 views (last 30 days)
I have a workflow that uses the MATLAB project functions to retrieve information from the MATLAB project. I use currentProject() to get the matlab.project.Project object.
I am trying to run this workflow using the Parallel Computing Toolbox, but seems that the MATLAB project is not available in the MATLAB workers.
Tested it using this code:
Starting parallel pool (parpool) using the 'Processes' profile ... Connected to the parallel pool (number of workers: 2).
Error detected on workers 1 2.

Caused by:
Error using currentProject
No project is currently loaded.
Does the MATLAB project gets transferred into the MATLAB workers, or only the MATLAB path?
Any workaround about how can I pull the Project Reference information in a distributed environment?
Thanks in advance!

Accepted Answer

Sean de Wolski
Sean de Wolski on 14 Feb 2023
You can open the project on all workers before the loop with parfevalOnAll.
rf = currentProject().RootFolder
parfevalOnAll(@()openProject(rf), 0)
parfor ii = 1:4
  1 Comment
Isaac De La Cruz
Isaac De La Cruz on 15 Feb 2023
Thanks @Sean de Wolski! This solution works.
Unfortunately for me, the MATLAB projects has a lot of overhead during startup, so I decided to take another approach of storing the information from the MATLAB project before distribution.

Sign in to comment.

More Answers (0)


Find more on Projects in Help Center and File Exchange




Community Treasure Hunt

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

Start Hunting!

Translated by