如何使用 python 在多个 cpu 内核上 运行 外部程序?

How to run external program on multiple cpu cores using python?

我正在尝试 运行 使用 python 在外部程序 CalculiX 上进行多次模拟。我知道 python 脚本不能在多个 cpu 内核上 运行 但 CalculiX 是一个外部程序,我正在通过 运行 命令 os.system . 我需要 运行 在多核上进行模拟以节省时间。

    os.system("ccx WireBend")

这就是我在 运行 外部程序中使用的方法,它工作正常,只是需要花费很多时间,因为只使用一个 cpu 完成计算。 那么如何在多核上 运行 ccx 呢? 我正在使用 python 3.6

使用 subprocess.Popen 可以异步打开子进程(即控制将在子进程完成之前 return 到 python)。

多次使用它来生成多个子进程,然后检查每个进程是否已终止。

您可以将环境变量设置到您运行正在运行程序的终端中,或者在脚本中如下设置:

import os
os.environ['OMP_NUM_THREADS']
OR
os.environ['OMP_NUM_THREADS'] = '10'

然后运行

os.system("ccx WireBend")