MATLAB: I7-2600k procesor 8 cores only 1 core being used

parallel computing

I noticed when running a script it is using less than 20% of my cpu usage to calculate. The scripts run very slowly and I am wondering if there is a way I can boost it up. When I go to task manager it shows 20% cpu usage while running and 8 cores are barely being used. The script has for loops and I did change to parfor which speeds it up a bit but still doesn't seem to be really utlizing my new computer. I also did by the parallel computing toolbox but same results.

Best Answer

  • Your program structure might not be very suitable for running in parallel.
    Multiple cores do not help much with parfor unless you start getting fairly large arrays. Using parfor can be much slower than not using it unless your arrays are big enough.
    If you are using big arrays, consider whether using distributed arrays (drange) would help.
    If some parts can be run independently of the others, with the results eventually collected, then you might find it better to program in terms of spmd.