MATLAB won't use idle Processors

  • MATLAB
  • Thread starter blumist
  • Start date
  • Tags
    Matlab
In summary, the conversation discusses ways to increase the computing power and speed of a MATLAB program solving a 2-dimensional Dirichlet boundary condition heat transfer problem. The use of the distributed computing toolbox and parallel computing using GPU are suggested as possible solutions. The conversation also mentions the need for a specific toolbox and operating system to implement these methods effectively.
  • #1
blumist
19
0
I wrote a program on Matlab that is supposed to solve a 2-dimensional dirichlet boundary condition heat transfer problem. In programming context, it uses a number of iterations in series to calculate the next value using data acquired from the previous iterations.
I am running MATLAB 64-bit on a core i-3 2.3 Ghz with 4 GB RAM. During the processing it tends to use only 25% of the complete computing power that my CPU can support and takes quite long computing otherwise simple problems. Any ideas on how I can increase it?

Thanks !
 
Physics news on Phys.org
  • #2
The distributed computing toolbox allows use of multiple processors. Alternatively, you could open up multiple instances of MATLAB and manually distribute the work load.

The core-i usually comes on windows machines iirc. What your OS?
 
  • #3
Pythagorean said:
The distributed computing toolbox allows use of multiple processors. Alternatively, you could open up multiple instances of MATLAB and manually distribute the work load.

The core-i usually comes on windows machines iirc. What your OS?
My OS is Windows 7 64-bit. Can you enlighten me a bit over the "distributed computing toolbox"? Thanks :)
 
  • #4
Do you have the toolbox in your version? Go to the MATLAB menu (bottom left corner) and them to toolboxes, if it's not in that list, try "more".

If you don't have it (your license has to include it) then it's not much use learning about.

If you do have it, then read up on the documentation and ask a more specific question after trying to implement it.
 
  • #5
I found a Parallel Computing Toolbox. I'll get back to you if I face a problem. Thanks!
 
  • #6
For parallel MATLAB, GPU computing is a really good option. I recommend taking a look at Jacket for that (better than the Parallel Computing Toolbox), http://accelereyes.com/compare
 
Last edited by a moderator:

Related to MATLAB won't use idle Processors

1. Why is MATLAB not utilizing all of my idle processors?

There are several reasons why MATLAB may not be using all of your idle processors. One possible reason is that your code may not be parallelized, meaning it is not written to take advantage of multiple processors. Another reason could be that your idle processors are not configured properly or are not compatible with MATLAB. Additionally, if your code requires a lot of memory, MATLAB may not be able to use all of your idle processors due to memory limitations.

2. How can I force MATLAB to use all of my idle processors?

To ensure that MATLAB is using all of your idle processors, you can use the "parpool" function to create a parallel pool of workers. This will distribute the workload across all of your available processors. Additionally, you can check your MATLAB preferences to make sure that the "Use Parallel Computing Toolbox" option is selected.

3. Can I specify which processors MATLAB uses?

Yes, you can specify which processors MATLAB uses by using the "parpool" function. It allows you to specify the number of workers and which processors to use. You can also use the "maxNumCompThreads" function to limit the number of processors MATLAB uses.

4. How can I tell if MATLAB is using all of my idle processors?

You can use the "parpool" function to check how many workers are being used. If the number of workers matches the number of idle processors, then MATLAB is using all of your idle processors. You can also use the "maxNumCompThreads" function to check how many processors MATLAB is using.

5. Will using all of my idle processors speed up my code?

It depends on the type of code you are running. If your code is parallelizable, meaning it can be divided into smaller tasks that can be executed simultaneously, then using all of your idle processors can significantly speed up your code. However, if your code is not parallelizable, using all of your idle processors may not improve performance. It is important to write your code in a way that takes advantage of parallel processing in order to see a speed improvement.

Similar threads

  • MATLAB, Maple, Mathematica, LaTeX
Replies
1
Views
2K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
6
Views
2K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
3
Views
3K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
4
Views
3K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
10
Views
2K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
3
Views
2K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
2
Views
2K
  • Computing and Technology
Replies
9
Views
982
  • Science Fiction and Fantasy Media
Replies
5
Views
1K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
4
Views
11K
Back
Top