Matrix multiplication and multiprocessing

9 ビュー (過去 30 日間)
Nico
Nico 2015 年 1 月 2 日
回答済み: Edric Ellis 2015 年 1 月 2 日
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 Center および File ExchangeParallel Computing Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by