Parpool thread-based pool size

24 visualizaciones (últimos 30 días)
Alessandro
Alessandro el 8 de Sept. de 2025
Comentada: Georgi el 16 de Oct. de 2025 a las 7:53
I have a computer with 14 physical cores: 12th Gen Intel(R) Core(TM) i7-12800H, 2400 Mhz, 14 Core(s), 20 Logical Processor(s)).
I can set
p=parpool('processes',8)
and I get what I expect
p =
ProcessPool with properties:
Connected: true
NumWorkers: 8
Busy: false
Cluster: processes (Local Cluster)
AttachedFiles: {}
AutoAddClientPath: true
FileStore: [1x1 parallel.FileStore]
ValueStore: [1x1 parallel.ValueStore]
IdleTimeout: 30 minutes (30 minutes remaining)
SpmdEnabled: true
However, if I type
delete(p)
p=parpool('threads',8)
I get this error message:
Error using parpool (line 108)
A minimum pool size of 8 was requested. The maximum thread-based pool size is currently 6.
Is there a way to increase the maximum thread-based pool size above 6 (given that my Intel CPU has 14 physical cores)?
Thanks!

Respuesta aceptada

Walter Roberson
Walter Roberson el 8 de Sept. de 2025
With that particular number of physical cores (14), chances are high that you have a mix of "performace" cores and "efficiency" cores. There is currently a restriction, that thread-based pools can only use performance cores.
  4 comentarios
Walter Roberson
Walter Roberson el 15 de Oct. de 2025 a las 23:21
There does not appear to be any way to select process based instead of thread based.
Georgi
Georgi el 16 de Oct. de 2025 a las 7:53
Thank you. I found that when executing
maxNumCompThreads(16); % 16 Logical cores in a Gen9 Core i9 CPU
parpool('Processes',maxNumCompThreads);
before I start the regressionLearner model training, the tool uses the parallel pool already created with the 'Processes' profile.
But it turned out that numWorkers was not the bottleneck in my calculations, and even those 8 Workers were far from fully used (CPU load was barely 10-20%). Strangely, in R2024aU7, the regressionLearner tool uses at ~12-20% one of the DMA Engines (shown as 'Copy 1' in Windows Task Manager) of my nVidia Quadro RTX3000, and this at 0% 3D load on that GPU (well, most of the time). In R2025aU1 on the same laptop (128 GB or RAM), that GPU is not used at all, and the same model training (and iterations number) takes notably longer time. On a server with 36 logical cores per CPU and no GPU accelerator, in R2022a, the same model training takes 5.3 times longer (!!!).

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Parallel Computing Fundamentals en Help Center y File Exchange.

Productos


Versión

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by