Filter löschen
Filter löschen

Parallel processing is not able to use all my cores.

30 Ansichten (letzte 30 Tage)
Jeramy Dickerson
Jeramy Dickerson am 5 Dez. 2016
Bearbeitet: Iman Aganj am 16 Mär. 2022
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 Kommentare
Edric Ellis
Edric Ellis am 6 Dez. 2016
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 am 16 Mär. 2022
Bearbeitet: Iman Aganj am 16 Mär. 2022
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.

Melden Sie sich an, um zu kommentieren.

Antworten (3)

Iman Aganj
Iman Aganj am 16 Mär. 2022
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 am 31 Jan. 2018
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 Kommentare
Sinan Islam
Sinan Islam am 25 Jan. 2022
Bearbeitet: Sinan Islam am 25 Jan. 2022
@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 am 25 Jan. 2022
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.

Melden Sie sich an, um zu kommentieren.


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

Kategorien

Mehr zu Parallel Computing Fundamentals 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