Hi, I have an 11×11 matrix from a system of 11 ODEs (hence the complexity). Matlab's eig was unable to solve the matrix without running out of memory, so I'm trying out the parallel computing toolbox. I haven't been able to find any clear instructions, so I may be doing very obvious things wrong. My code is:
parpoolspmd tic [l1,l2] = eig(D); time = gop(@max, toc) % Time for all labs in the pool to complete.
enddelete(gcp)
and D is my matrix. I set up my local profile so that I use 6 workers. My question is: am I using the toolbox/functions incorrectly, or is my system just too complex to solve? In case relevant, I am running Matlab 2016b on win10 64, 4 ghz cpu, 24 gb ram. It gets up to almost 100% memory usage and about 80% cpu usage with this code.
The error:
Starting parallel pool (parpool) using the 'local' profile ... connected to 6 workers.ans = Pool with properties: Connected: true NumWorkers: 6 Cluster: local AttachedFiles: {} IdleTimeout: 30 minute(s) (30 minutes remaining) SpmdEnabled: trueWarning: An error has occurred during SPMD execution. An attempt has been made to interrupt execution on the workers. If this situation persists, it may be necessary to interrupt execution using CTRL-C and then deleting andrestarting the parallel pool.The error that occurred on worker 3 is:Error using symengineOut of memory.Error in sym/mupadmexnout (line 981) out = mupadmex(fcn,args{:});Error in sym/eig (line 54) [Vsym,Dsym,p] = mupadmexnout('symobj::eigenvectors',A);Error in eigen_test1 (line 50)spmd. > In spmdlang.RemoteSpmdExecutor/maybeWarnIfInterruptedAndWaiting (line 300) In spmdlang.RemoteSpmdExecutor/isComputationComplete (line 131) In spmdlang.spmd_feval_impl (line 19) In spmd_feval (line 8) In eigen_test1 (line 50) Error using eigen_test1 (line 50)Error detected on worker 3.Caused by: Error using symengine Out of memory.Exception in thread "Explorer NavigationContext request queue" IdleTimeout has been reached.Parallel pool using the 'local' profile is shutting down.
Best Answer