필터 지우기
필터 지우기

Parallel processing is not able to use all my cores.

조회 수: 30 (최근 30일)
Jeramy Dickerson
Jeramy Dickerson 2016년 12월 5일
편집: Iman Aganj 2022년 3월 16일
I have dual processors (2x Intel® Xeon® Processor E5-2699 v3), each with 18 physical cores (hyperthreading is disabled) for a total of 36 physical cores. For some reason I cannot execute "parpool(36)". I can only run "parpool(18)". Is there a way to fully utilize both processors? I am running R2016b on Redhat 6. Any ideas?
  댓글 수: 2
Edric Ellis
Edric Ellis 2016년 12월 6일
Are the two processors running a single instance of the OS? (If not, then you'll need MATLAB Distributed Computing Server). What does feature('numcores') return? Did you try using the cluster profile manager to manually set the number of workers to 36?
Iman Aganj
Iman Aganj 2022년 3월 16일
편집: Iman Aganj 2022년 3월 16일
Hello. Any update on this? I am running R2022a on a Windows Server 2022 machine with 96 physical cores (192 logical cores). According to
feature('numcores')
the OS is restricting Matlab to only 48 cores, which I think is because Matlab is only using a single processor group. How can I use 96 cores (e.g. in a parpool) on this machine? There is a bug report here, but the workaround didn't resolve the issue.
Thanks.
A quick update: Processor Group Extender feature of Process Lasso fixed the issue. With its help, Matlab can now use more than a single processor group and practically all the cores in parpool.

댓글을 달려면 로그인하십시오.

답변 (3개)

Iman Aganj
Iman Aganj 2022년 3월 16일
A quick update: Processor Group Extender feature of Process Lasso fixed the issue. With its help, Matlab can now use more than a single processor group and practically all the cores in parpool.

Alexander Eiermann
Alexander Eiermann 2018년 1월 31일
I don't think Sean's answer is accurate. I just set up a rig with dual Xeon E5-2630s on separate motherboards for a total of 20 physical and 40 logical cores. I had absolutely no problem creating parallel profiles with more than 20 workers. Your issue probably stems from the fact hyperthreading is disabled on your system. Make sure it's enabled in the BIOS. Once you've done that, also make sure that "preferred number of workers in a parallel pool" is set to 36 under Parallel Preferences.
  댓글 수: 3
Sinan Islam
Sinan Islam 2022년 1월 25일
편집: Sinan Islam 2022년 1월 25일
@Walter Roberson Windows 10 Pro for Workstations (or Windows 11 Pro for Workstations) can operate a single OS instance on multiple CPUs. I wonder if this is relevant to what you are talking about, and perhaps it would allow MATLAB to work on multiple CPUs on different motherboards on a single machine.
Walter Roberson
Walter Roberson 2022년 1월 25일
Windows is interesting because it has a limit of 64 logical cores in one group; https://docs.microsoft.com/en-us/windows/win32/procthread/processor-groups . I seem to recall seeing some remarks along the way that on Windows, MATLAB's parallel groups are limited by this and so more than one parallel group is required to work with more than 64 logical cores.

댓글을 달려면 로그인하십시오.


Sean de Wolski
Sean de Wolski 2016년 12월 5일
You'll need MATLAB Distributed computing server in order to take advantage of all of the cores since they are controlled by separate motherboards.

카테고리

Help CenterFile Exchange에서 Parallel Computing Fundamentals에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by