我正在尝试使用并行化,我有一个简短的问题。
我看到另一篇文章说:“我从另一篇文章中看到,‘所有比R2013b更新的版本都可以通过并行计算工具箱在本地机器上使用多达512个工作者(CPU核心)。’
但是,我不确定我的计算机可以使用多少个工人。
我有32个核心(64个逻辑核心)和128 GB的内存。
这是否意味着我可以使用32个工人?或者我可以使用64个工作进程,因为我有64个逻辑核心?
或者“工作进程的数量”是独立于内核的数量的?在并行首选项中,我认为我可以写任何我想要的数字作为工作人员的数量,所以我有点困惑……
我在“并行首选项”中将36作为工作者的数量,但当我运行代码时,它显示工作者的数量是32。所以我猜Matlab会自动选择最大的工作进程数…?
提前谢谢。
发布于 2021-11-24 07:37:48
并行计算工具箱使用的默认工作进程数是计算机上的物理核心数,因为这通常会提供最佳性能。在某些情况下,不同数量的工作人员可以为您提供更好的性能,这就是为什么您能够修改此首选项。
例如,如果您的工作进程需要大量内存,那么您最好运行更少的工作进程,而不是拥有内核。
相反,对于某些工作负载,您可能会发现您可以运行更多的worker,但仍然可以获得良好的性能(尽管我认为这样的情况比较少见)。
请注意,"Preferred number of workers in a parallel pool"首选项与您在Cluster Profile Manager中指定的NumWorkers属性是分开的。
https://stackoverflow.com/questions/70090256
复制相似问题