Matrix multiplication and multiprocessing

9 次查看(过去 30 天)
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

回答(1 个)

Edric Ellis
Edric Ellis 2015-1-2
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.

类别

Help CenterFile Exchange 中查找有关 Parallel Computing Toolbox 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by