我使用的是一个有128个核心的linux服务器,但我不是唯一使用它的人,所以我想确保我的程序最多使用60个核心。我正在编写的程序是一系列的模拟,每个模拟本身都是并行的。可以选择这样一个模拟的核心数量,我通常使用12个。
因此,理论上,我可以同时运行5个这样的模拟,这将导致总共使用(5x12) 60个内核。我想从python开始模拟(因为所有的预处理都是在python中进行的),并且我注意到了多处理库,特别是Pool类。
现在我的问题是:我应该使用pool = Pool(processes=5)还是pool = Pool(processes=60)
其想法是:进程参数是否表示使用的工作进程的数量(每个工作进程被分配12个核心),或者可用进程的总量?
发布于 2018-01-18 06:26:27
Pool中的参数“进程”表示要在此程序中创建的子进程总数。所以如果你想使用所有的60个核心,这里应该是60个。
https://stackoverflow.com/questions/42233282
复制相似问题