How to use multiple cores

I use matlab to generate a series of input files and perform a simulation with each of those by an external program.
eval(sprintf('!%s "%s"','"[a bat file]"',[a matlab generated ini file]))
Using the line above matlab will wait until one simulation has ended before starting a new one. One simulation uses only one of 4 available cores. I would like to know if I can send 4 files into parallel simulation.
Thanks.

 Réponse acceptée

Friedrich
Friedrich le 3 Nov 2011

2 votes

Hi,
try to use the & so that ML don't wait, saying:
eval(sprintf('!%s "%s" &','"[a bat file]"',[a matlab generated ini file]))
Or use Parallel Computing Toolbox to run several function in parallel.

2 commentaires

Jan
Jan le 3 Nov 2011
I'd omit the EVAL and SPRINTF:
system(['"<a bat file>" "', <a matlab generated ini file>, '" &'])
Erik de Boer
Erik de Boer le 3 Nov 2011
Thank you both. All my simulations run simultaneous now.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Statistics and Machine Learning Toolbox dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by