MATLAB: Matlab with dual core uses only 50% cpu (R2010b, Intel Core 2 duo T9300)

cpu 50% matlab duo multi

I'm doing a finite difference simulation with matlab which takes around 15 minutes at this moment. When looking at the resource monitor of Windows 7 (32 bit), I see matlab never uses more than 50% of the cpu.
I'm using Matlab R2010b. The computer is a HP with a Intel core 2 duo T9300, 2.5GHz 4GB RAM, of which 3GB is usable (due to 32bit Windows 7)
The question is, how can I make the computer use 100% of its computing power so I can run my simulations faster?
In Windows I already turned all power saving options off, but this didn't help.

Best Answer

It depends which version of MATLAB you are using. MATLAB started including multithreaded functions in R2007a. I believe multithreading was always supported on all platforms.
By R2009a, multithreading became a startup option (-singleCompThread ). Before then, it could toggled in the preferences. As for a list of the functions that are multithreaded, look here:
This list hasn't been updated for the last 2 releases so you can add the following functions:
  • fft for long vectors
  • The two-input form of conv2
  • Integer conversion and arithmetic
For your particular case, you may not be using many of these functions and/or large enough matrices to see much of a difference. You may want to explore using the Parallel Computing Toolbox.
Related Question