Utilising Multicore on Linux Matlab 7.11 64-bit
Show older comments
I'm unable to get multicore working.
I am running the following in a script:
function partest
X=ones(10000);
for(a=1:100);
X.*X;
end
This is what my System Monitor shows: http://smanohar.com/matlab-multicore.png. As you can see, only one core is being used, despite the operation being element-wise!
I also get:
>> maxNumCompThreads
ans =
6
My system is:
Matlab: 7.11.0.584 R2010b, 64-bit (glnxa64)
OS: 64-bit Ubuntu 10.04, Kernel 2.6.32-29
CPU: Intel Xeon W3580, 6-core each @3.33 GHz
Why isn't it using all 6 CPUs? I thought that element-wise multiplication was parallellised?
Incidentally, Parallel toolbox is also installed. Under Parallel/Configurations Manager/local, when I press Start validation, the System monitor shows all cores are used for "Parallel Job" and "Matlabpool".
Accepted Answer
More Answers (1)
Murugavel Sivagnanam
on 31 Mar 2011
0 votes
MALTAB by default is a single threaded process. Though you have multicore process, it does not use multiple cores to perform calculations.
Also the functions that you have written does not use any of the features of Parallel Computing Toolbox. Refer to the following documentation for more information on using the parallel computing toolbox.
3 Comments
Sanjay Manohar
on 31 Mar 2011
Konrad Malkowski
on 5 Apr 2011
Hi Sanjay,
Did you open the matlabpool?
Jiro Doke
on 5 Apr 2011
Correction on this answer. In R2010b (since R2008a), MATLAB automatically multi-threads certain operations (linear algebra and element-wise computations).
Categories
Find more on Introduction to Installation and Licensing in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!