You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It appears that parallel SIMUS doesn't work out of the box. I just downloaded the MUST toolbox and ran into the following error:
Error using simus (line 293)
DATENUM failed.
Error in UltrasoundSystem/simus (line 682)
parfor (m = 1:M, kwargs.parcluster)
Caused by:
Error using datenummx
Use of function datenummx is not supported on a thread-based pool.
I suspect that MUST doesn't support this type of parfor syntax natively. It might require working with the maintainer to figure out a workable solution.
The text was updated successfully, but these errors were encountered:
I just tested this on my system. It seems that parfor syntax is fine as it will run on a local parpool and on no parpool, just not a thread-based parpool.
The reason is the adMessage subroutine in the pfield.m function in MUST calls uiwait and msgbox. Even though it's not run, the interpreter errors when it detects a potential call to uiwait and/or msgbox.
There are 2 ways to get around this:
Use a local parpool with parpool('local', 'SpmdEnabled', false). You may have to shutdown the current one with delete(gcp('nocreate')). This is less memory efficient, but probably still better than single-threaded.
Comment out line 399 of pfield.m (the call to adMessage). Then use munlock pfield.m to unlock the file so that MATLAB loads it in again. This gives you the best performance.
It appears that parallel SIMUS doesn't work out of the box. I just downloaded the MUST toolbox and ran into the following error:
I suspect that MUST doesn't support this type of parfor syntax natively. It might require working with the maintainer to figure out a workable solution.
The text was updated successfully, but these errors were encountered: