Unexpected speedup when running script in barebones matlab
Mostrar comentarios más antiguos
I have a function I've been running for the last several months, which typically takes around 2 hours to run. In order to run it on our cluster I'm now calling the same function in a headless matlab, using the following command from a terminal:
matlab -nosplash -nojvm -singleCompThread -nodesktop -r "myFunc(1,20)"
where I would otherwise use this command from within matlab:
myFunc(1,20)
While I expected this to run slightly faster (~10%) due to removing the overhead of the matlab GUI, the code is now running in under 15 minutes, about 8x faster than normal. This speedup is consistent accross several computers, including the linux cluster and two windows desktops.
My question is: are there any known reasons the same code should run this much faster, and is can I be confident that the results from running the code this way are the same as before?
For a little more detail, my function is effectively shuffling a 2d matrix of 1's and 0's, attempting to match particular distribution requirements. Most of the runtime is spent in Matlabs conv2 function, followed by find and randi.
4 comentarios
per isakson
el 28 de Jul. de 2014
Editada: per isakson
el 28 de Jul. de 2014
I cannot reproduce your result. The only reason for an 8x increase in performance that I can think of is the extra memory available to the Matlab process. Did your process run low on memory when started in the Matlab GUI?
Nelis
el 3 de Sept. de 2014
Titus Edelhofer
el 3 de Sept. de 2014
Interesting observation... Have you tried to run your desktop MATLAB with singleCompThread flag as well?
Nelis
el 9 de Sept. de 2014
Respuestas (0)
Categorías
Más información sobre Startup and Shutdown en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!