Parpool thread-based pool size
24 ビュー (過去 30 日間)
古いコメントを表示
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!
0 件のコメント
採用された回答
Walter Roberson
2025 年 9 月 8 日
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 件のコメント
Walter Roberson
2025 年 10 月 15 日 23:21
There does not appear to be any way to select process based instead of thread based.
Georgi
2025 年 10 月 16 日 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 (!!!).
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Parallel Computing Fundamentals についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!