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

32 次查看(过去 30 天)
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 个评论
Ced
Ced 2016-4-5
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.

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2016-4-5
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.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by