Effacer les filtres
Effacer les filtres

how to use parallel programming or multi threading or multicore in matlab?

32 vues (au cours des 30 derniers jours)
I have a program in matlab. It run in 1 hour. It is very slow!. how can I use parallel programming or multi threading or multicore in matlab? Is there any other way to improve run time?
  1 commentaire
Ced
Ced le 5 Avr 2016
To your actual question, the short answer is: yes, matlab can use multithreading and process things in parallel. Check out Parallel Processing in Matlab
Parallelization is not the first thing I would try though. In many cases, a huge speed up can be achieved by writing the process in an optimized form such as vectorizing operations instead of loops and conditional statements.
You can check which part of your code take up most of the time using the profiler. Just run
profile on
then run your code (or a part of it) and afterwards, call
profile viewer
This will give you a detailed description of which parts of the code are most worth optimizing.

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 5 Avr 2016
You would need the Parallel Computing Toolbox for that. It turns out that for a lot of programs, using Parallel Processing is slower rather than faster, because of the communications overhead.
A lot of the time, code can be sped up more by vectorizing and clever rewriting than by switching to Parallel Computing. But it depends on what the code does.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by