如何编写脚本在多核机器中有效地运行多进程

2024-10-01 15:47:42 发布

您现在位置:Python中文网/ 问答频道 /正文

所有人。我有一个Python文件(例如名为:运行.py). 这个程序需要一些参数(python运行.pyparam1 param2…),每个元组参数都是一个设置。现在,我必须同时运行多个设置以尽快完成所有设置。我写了一个文件运行.sh具体如下:

python run.py setting1 &
python run.py setting2 &
#more setting
...
wait

这个文件将同时执行所有进程,对吗?我在64核cpu上运行。我有个问题:

  1. 每个进程是否在一个核心上运行?在
  2. 如果没有,我怎么做?在
  3. 如果我可以为每个内核运行一个进程,那么setting1的运行时间将等于我只运行单个进程时的运行时间:python运行.py设置1

Tags: 文件runpy程序参数进程moresh
1条回答
网友
1楼 · 发布于 2024-10-01 15:47:42

您是否尝试使用multiprocessing模块?在

假设您想并行执行某个函数work(arg1, arg2)多次,您将得到这样的结果

import multiprocessing
p = multiprocessing.Pool(multiprocessing.cpu_count()
results = p.starmap(work, [(arg11, arg12), (arg21, arg22)....]
# do something with the list of results

如果您的函数看起来都非常不同,那么您可以编写一个函数包装器,如下所示:

^{pr2}$

相关问题 更多 >

    热门问题