how to ask for a pool size when using parpool with threads
24 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Arabarra
el 19 de Nov. de 2020
Comentada: Rick Amos
el 2 de Oct. de 2023
Dear all,
using R2020b, looks like the flag "threads" when using a parpool excludes providing a pool size... is there a reason for that? How can provide an explicite number of workers?
thanks,
Daniel
0 comentarios
Respuesta aceptada
Raymond Norris
el 19 de Nov. de 2020
Editada: Raymond Norris
el 19 de Nov. de 2020
There isn't from within parpool. When you create a Threads pool, the size of the pool is identical to maxNumCompThreads, which by default is the number of physical cores on the machine.
One workaround is as follows. Assume you have 4 cores and you want a thread pool of 2.
old_thread_count = maxNumCompThreads(2);
p = parpool("threads");
Keep in mind, adjusting maxNumCompThreads could have an impact on other MATLAB functions (though perhaps not since you're now running a pool), so I'd suggest setting it back once you're done with the pool.
p.delete
maxNumCompThreads(old_thread_count);
Is there a particular reason you want to adjust the size?
4 comentarios
Rick Amos
el 2 de Oct. de 2023
As an update to Raymond's answer, we added this capability to thread-based pools in R2022b. For R2022b or later, you can control thread-based pool size directly via parpool:
parpool("threads", 2);
Más respuestas (0)
Ver también
Categorías
Más información sobre Parallel Computing Fundamentals en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!