필터 지우기
필터 지우기

Use both multi core CPUs

조회 수: 4 (최근 30일)
David
David 2015년 3월 4일
답변: Edric Ellis 2015년 3월 5일
Hi,
I have a two CPU multi core machine (16 cores each). I want to use a parfor loop on all 32 cores. But maxNumCompThreads gives me 16. In preferences I changed the maximum number of workers to 32, but when I open a parallel pool it still has only 16 workers. What do I need to configure to make use of all cores? If it matters my parfor loop is a perfect parallelisable task, i.e. no communication between iterations is needed.
Thanks for your help!

채택된 답변

Edric Ellis
Edric Ellis 2015년 3월 5일
You need to edit the 'local' parallel profile to set the maximum number of workers to 32. See the doc. Once you've done that, you should be able to issue the following command:
parpool('local', 32)
and launch 32 workers.
Note that if MATLAB by default does not consider hyper-threaded cores, as these tend not to perform well for numerically intensive computations. So, you might well find that running 32 workers is actually slower than running 16, depending on the precise nature of your computation.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Startup and Shutdown에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by