Matrix multiplication and multiprocessing

3 Ansichten (letzte 30 Tage)
Nico
Nico am 2 Jan. 2015
Beantwortet: Edric Ellis am 2 Jan. 2015
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

Antworten (1)

Edric Ellis
Edric Ellis am 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.

Kategorien

Mehr zu Parallel Computing Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by