Matrix multiplication and multiprocessing
9 views (last 30 days)
Show older comments
Hello all,
I use Matlab 2014a on a computer with two Intel Xeon E5-2630 processors, 128 GB ram and Windows 7 x64 prof. Unfortunately, for implicitely parallel operations (like matrix multiplications), Matlab just seems to use a single processor. The maximum system cpu usage is bounded at 54% in these cases as reported by windows' task manager.
By parfor/spmd I was able to share load across both processors, yet the parallel processing toolbox is not my favoured option, since I'd like to avoid to partition and share multiple dense 20 GB matrices.
Is there a workaround for this issue?
Thanks, Nico
0 Comments
Answers (1)
Edric Ellis
on 2 Jan 2015
I think the reason you're seeing only ~50% processor utilisation is because of hyperthreading. According to the Intel documentation, each processor has 6 cores and 12 threads. MATLAB runs only on the "real" cores, not hyperthreaded cores, as this actually usually gives better performance. You can see how many threads MATLAB is attempting to use by calling the maxNumCompThreads function.
0 Comments
See Also
Categories
Find more on Parallel Computing Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!