Could this be a code problem within the batch files?
"engineers" who don't know how to parallel process? wtf?
"real" engineers don't need help in RTFM or parfor.
I think the problem is that you don't have a version of matlab
supporting multiple core , or you don't have the parallel computing
toolbox.
Have you profile your code? Do you know where the bottle neck is?
If the bottleneck happens to be parallelizedable, or you expect it to be
able to be parallelized, please contact our supoort and let us know. These
are invaluable feedback we like to hear everyday.
Asking a general statement like your post makes this very difficult to give
any useful answer. Without knowing specific problems, I cannot say if the
problem would benefit from using multicore.
Do you have any particular set of functions in mind?
---Bob.
"Richard Underwood" <Richard....@hotmail.com> wrote in message
news:h06dov$egu$1...@fred.mathworks.com...
I have a program which does some iterations in two while loops and I have a double core processor and get 50% cpu usage. Profiler says that a loss of time is hapenning mostly on if statements... Program is extremely slow. Is this enough info?
Thank you
These are branches. You will not be able to use both
processors for this.
What it means is that you ned to investigate whether
the use of the branches is appropriate. Very often
such heavily looped/branched code can be vectorized,
i.e., written in a way that does not involve the explicit
loops and branches. If so, then the speed will go up
dramatically.
Loops like this are often the result of coding as if you
were writing in C or Fortran. They might be correct in
the lower level language that you used in the past.
However they are often a poor choice for use in
MATLAB.
John
Thank you for answer
But I have dicussed this on some other topic and we concluded that my code can't be vectorised. Is there some other solution?
Thanks
Dear Bobby Cheng,
I have the similar problem. I first invoked(on intel xeon quadcore processor) 'matlabpool 4' than it showed that it has connected to 4 labs on a default 'local' config. Than i run simple program where i used 'parfor' loop. But the cpu's are not utilized at their full strength. Only 50% to 60% of cpu strength has been utilized? Why's this so? Is this a problem of licenses? How can we get 100% cpu usage for faster computation.
Thank you
Prashanth
Prashanth,
Maybe the code you are running is not CPU bound. Though you have four
process running, they might not each need 100% of the CPU computing power
at the same time. Quite a bit of time goes in IO and waiting on other
resources.
You could try using MicroSofts's 'process explorer' tool to study the CPU
utilization of each of your MATLAb worker individually. I have a feeling
you would notice that it doesnt need the amount of CPU power you are
expecting.
You could try increasing the number of Workers, you might see a better
utlization. BUT ..this might not correspond to a better overall
performance (there would be point of diminishing returns with increasing
workers dependent on machine configuration, memory, swap, the type of code
you are running,etc..etc)